数据加密 #
配置项说明 #
命名空间:http://shardingsphere.apache.org/schema/shardingsphere/encrypt/encrypt-5.1.0.xsd
<encrypt:rule />
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
id | 属性 | Spring Bean Id | |
queryWithCipherColumn (?) | 属性 | 是否使用加密列进行查询。在有原文列的情况下,可以使用原文列进行查询 | true |
table (+) | 标签 | 加密表配置 |
<encrypt:table />
名称 | 类型 | 说明 |
---|---|---|
name | 属性 | 加密表名称 |
column (+) | 标签 | 加密列配置 |
query-with-cipher-column(?) | 属性 | 该表是否使用加密列进行查询。在有原文列的情况下,可以使用原文列进行查询 |
<encrypt:column />
名称 | 类型 | 说明 |
---|---|---|
logic-column | 属性 | 加密列逻辑名称 |
data-type(?) | 属性 | 逻辑列类型 |
cipher-column | 属性 | 加密列名称 |
cipher-data-type(?) | 属性 | 加密列类型 |
assisted-query-column (?) | 属性 | 查询辅助列名称 |
assisted-query-data-type(?) | 属性 | 查询辅助列类型 |
plain-column (?) | 属性 | 原文列名称 |
plain-data-type(?) | 属性 | 原文列类型 |
encrypt-algorithm-ref | 属性 | 加密算法名称 |
<encrypt:encrypt-algorithm />
名称 | 类型 | 说明 |
---|---|---|
id | 属性 | 加密算法名称 |
type | 属性 | 加密算法类型 |
props (?) | 标签 | 加密算法属性配置 |
示例 #
<encrypt:encrypt-algorithm id="name_encryptor" type="AES">
<props>
<prop key="aes-key-value">123456</prop>
</props>
</encrypt:encrypt-algorithm>
<encrypt:rule id="encryptRule">
<encrypt:table name="t_user">
<encrypt:column logic-column="pwd" cipher-column="pwd_encrypt" data-type="VARCHAR(20) NOT NULL" cipher-data-type="VARCHAR(200) NOT NULL" plain-column="pwd_plain" plain-data-type="VARCHAR(20) NOT NULL" assisted-query-column="pwd_assisted" assisted-query-data-type="VARCHAR(20) NOT NULL" encrypt-algorithm-ref="name_encryptor" />
</encrypt:table>
</encrypt:rule>
算法类型的详情,请参见内置加密算法列表。