加密算法

背景信息

加密算法是 Apache ShardingSphere 的加密功能使用的算法,ShardingSphere 内置了多种算法,可以让用户方便使用。

参数解释

标准加密算法

MD5 加密算法

类型:MD5

可配置属性:

名称数据类型说明
saltString盐值(可选)

AES 加密算法

类型:AES

可配置属性:

名称数据类型说明
aes-key-valueStringAES 使用的 KEY

RC4 加密算法

类型:RC4

可配置属性:

名称数据类型说明
rc4-key-valueStringRC4 使用的 KEY

SM3 加密算法

类型:SM3

可配置属性:

名称数据类型说明
sm3-saltStringSM3 使用的 SALT(空或 8 Bytes)

SM4 加密算法

类型:SM4

可配置属性:

名称数据类型说明
sm4-keyStringSM4 使用的 KEY (16 Bytes)
sm4-modeStringSM4 使用的 MODE (CBC 或 ECB)
sm4-ivStringSM4 使用的 IV (MODE 为 CBC 时需指定,16 Bytes)
sm4-paddingStringSM4 使用的 PADDING (PKCS5Padding 或 PKCS7Padding,暂不支持 NoPadding)

模糊加密算法

单字符摘要模糊加密算法

类型:CHAR_DIGEST_LIKE

可配置属性:

名称数据类型说明
deltaint字符Unicode码偏移量(十进制)
maskint字符加密掩码(十进制)
startint密文Unicode初始码(十进制)
dictString常见字

操作步骤

  1. 在加密规则中配置加密器
  2. 为加密器指定加密算法类型

配置示例

  1. rules:
  2. - !ENCRYPT
  3. tables:
  4. t_user:
  5. columns:
  6. username:
  7. plainColumn: username_plain
  8. cipherColumn: username
  9. encryptorName: name_encryptor
  10. likeQueryColumn: name_like
  11. likeQueryEncryptorName: like_encryptor
  12. encryptors:
  13. like_encryptor:
  14. type: CHAR_DIGEST_LIKE
  15. name_encryptor:
  16. type: AES
  17. props:
  18. aes-key-value: 123456abc

相关参考