package com.dl.common.annotation;
|
|
import com.dl.common.enums.AlgorithmType;
|
import com.dl.common.enums.EncodeType;
|
|
import java.lang.annotation.*;
|
|
/**
|
* 字段加密注解
|
*
|
* @author 老马
|
*/
|
@Documented
|
@Inherited
|
@Target({ElementType.FIELD})
|
@Retention(RetentionPolicy.RUNTIME)
|
public @interface EncryptField {
|
|
/**
|
* 加密算法
|
*/
|
AlgorithmType algorithm() default AlgorithmType.DEFAULT;
|
|
/**
|
* 秘钥。AES、SM4需要
|
*/
|
String password() default "";
|
|
/**
|
* 公钥。RSA、SM2需要
|
*/
|
String publicKey() default "";
|
|
/**
|
* 公钥。RSA、SM2需要
|
*/
|
String privateKey() default "";
|
|
/**
|
* 编码方式。对加密算法为BASE64的不起作用
|
*/
|
EncodeType encode() default EncodeType.DEFAULT;
|
|
}
|