Logo
数据加密

数据加密 #

配置项说明 #

API 配置 #

rules:
- !ENCRYPT
  tables:
    <table-name> (+): # 加密表名称
      columns:
        <column-name> (+): # 加密列名称
          dataType: # 逻辑列类型
          plain: # 明文配置
            name: # 明文列名称a
            queryWithPlain: false # 可选,默认值 false,使用密文查询
          cipher: # 密文配置
            name: # 密文列名称
            dataType: # 明文列数据类型长度
            encryptorName: # 加密算法名称
          assistedQuery: # 查询辅助列配置
            name: # 查询辅助列名称
            dataType: # 查询辅助列数据类型长度
            encryptorName: # 查询辅助算法
          likeQuery: # 模糊查询列配置
            name: # 模糊查询列名称
            dataType: # 模糊查询列数据类型长度
            encryptorName: # 模糊查询算法
          orderQuery: # 排序查询列配置
            name: # 排序查询列名称
            dataType: # 排序查询列数据类型长度
            encryptorName: # 排序查询算法
  
  # 加密算法配置
  encryptors:
    <encrypt-algorithm-name> (+): # 加解密算法名称
      type: # 加解密算法类型
      props: # 加解密算法属性配置
        # ...

  # 密钥存储管理配置
  keyManagers:
      <key-manager-name> (+): # 密钥存储管理器名称
        type: # 密钥存储管理器类型,支持 Local 存储,AWS 云端存储
        props: # 密钥存储管理器属性配置
          # ...
  • 示例
rules:
- !ENCRYPT
  encryptors:
    aes_encryptor:
      type: AES
      props:
        aes-key-value: 123456abc
    char_digest_like_encryptor:
      type: CHAR_DIGEST_LIKE
      props:
        delta: 2
    md5_assisted_encryptor:
      type: MD5
      props:
        salt: 121212
    ope_encryptor:
      type: SphereEx:FASTOPE
      props:
        alpha-key: '0.21581228022895926'
        factor-e-key: '0.7601585186220504'
        factor-k-key: '-1203724518268840223'
    
  
  tables:
    t_merchant:
      columns:
        merchant_name:
          dataType: varchar(20)
          plain:
            name: merchant_name_plain
            queryWithPlain: false
          cipher:
            name: merchant_name_cipher
            dataType: varchar(100)
            encryptorName: aes_encryptor
          assistedQuery:
            name: merchant_name_assisted
            dataType: varchar(100)
            encryptorName: md5_assisted_encryptor
          likeQuery:
            name: merchant_name_like
            dataType: varchar(50)
            encryptorName: char_digest_like_encryptor
          orderQuery:
            name: merchant_name_order
            dataType: varchar(50)
            encryptorName: ope_encryptor