加解密(forge-starter-crypto)
工程位置:forge-server/forge-framework/forge-starter-parent/forge-starter-crypto。Maven artifactId 是 forge-starter-crypto。src/main/java 里有 46 个 Java 文件。
引入
xml
<dependency>
<groupId>com.mdframe.forge</groupId>
<artifactId>forge-starter-crypto</artifactId>
</dependency>自动装配
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 登记了:
com.mdframe.forge.starter.crypto.config.CryptoAutoConfigurationcom.mdframe.forge.starter.crypto.config.JacksonCryptoConfiguration
配置属性
forge.crypto.internal-call(com.mdframe.forge.starter.crypto.config.InternalCallProperties)
| 字段 | 类型 | 类内默认值 | 说明 |
|---|---|---|---|
trustedAddresses | List<String> | new ArrayList<>(List.of( "127.0.0.1", "::1", "0:0:0:0:0:0:0:1" )) | 内部服务调用来源配置。 |
类内默认值不是官方启动配置。各服务 application.yml 可以覆盖。
注解
@CryptoField
com.mdframe.forge.starter.crypto.crypto.CryptoField
| 成员 | 类型 | 默认值 | 说明 |
|---|---|---|---|
algorithm | String | "" | 字段级加解密注解 标注在实体类字段上,该字段在序列化时加密,反序列化时解密 |
encrypt | boolean | true | 字段级加解密注解 标注在实体类字段上,该字段在序列化时加密,反序列化时解密 |
decrypt | boolean | true | 字段级加解密注解 标注在实体类字段上,该字段在序列化时加密,反序列化时解密 |
@Desensitize
com.mdframe.forge.starter.crypto.desensitize.annotation.Desensitize
| 成员 | 类型 | 默认值 | 说明 |
|---|---|---|---|
type | DesensitizeType | DesensitizeType.CUSTOM | 字段脱敏注解 标注在实体类字段上,该字段在序列化时进行脱敏处理 |
prefixKeep | int | 0 | 字段脱敏注解 标注在实体类字段上,该字段在序列化时进行脱敏处理 |
suffixKeep | int | 0 | 字段脱敏注解 标注在实体类字段上,该字段在序列化时进行脱敏处理 |
replaceChar | char | '*' | 字段脱敏注解 标注在实体类字段上,该字段在序列化时进行脱敏处理 |
enabled | boolean | true | 字段脱敏注解 标注在实体类字段上,该字段在序列化时进行脱敏处理 |
源码类型清单
下面只列 forge-starter-crypto 自己的公开类型。
接口
com.mdframe.forge.starter.crypto.crypto.Encryptorcom.mdframe.forge.starter.crypto.desensitize.strategy.DesensitizeStrategycom.mdframe.forge.starter.crypto.persistence.PersistentCryptoService
枚举
CryptoAlgorithmDesensitizeType
类
AESEncryptorAESGCMEncryptorAddressDesensitizeStrategyBankCardDesensitizeStrategyCarLicenseDesensitizeStrategyCryptoAutoConfigurationCryptoConfigurationValidatorCryptoFieldDeserializerCryptoFieldSerializerCryptoMigrationItemCryptoMigrationReportCryptoSecretEnvironmentPostProcessorDecryptRequestBodyAdviceDesensitizeSerializerDesensitizeStrategyFactoryEmailDesensitizeStrategyEncryptResponseBodyAdviceEncryptedRequestEncryptedResponseEncryptorFactoryIdCardDesensitizeStrategyInternalCallPropertiesInternalCallRequestVerifierJacksonCryptoConfigurationKeyExchangeControllerKeyExchangeRequestKeyExchangeServiceNameDesensitizeStrategyPasswordDesensitizeStrategyPhoneDesensitizeStrategyPublicKeyResponseReplayAttackFilterReplayTokenCacheRsaKeyPairHolderSM4EncryptorSessionKeyStoreVersionedPersistentCryptoService
