切换主题
加密服务配置说明
概述
加密服务提供基于业务类型的数据加密和解密功能,支持SM4国密算法和3DES加密算法。通过配置中心实现密钥管理和算法选择,确保不同业务场景下的数据安全需求。
配置结构
基本配置
yaml
encrypts:
- business-type: demo
encrypt-type: 3des
key: ENCSM4(ELBhaks30ueBUQf4iCf4v9NijeMsT5hKH/XejEJziuKDpX2lKW91xCwC6X6owtRaug==)
- business-type: demo2
encrypt-type: sm4
key: ENCSM4(EFwkFV7teAQdZk41516RZDE0XWANK/SZUhZbQG2Q6xm2UrQc8vFsf0/ScA2X3BOqzw==)1
2
3
4
5
6
7
2
3
4
5
6
7
配置参数说明
| 参数 | 说明 | 必填 | 示例 |
|---|---|---|---|
business-type | 业务类型标识,用于区分不同的加密配置 | 是 | user-data |
encrypt-type | 加密算法类型,支持 sm4 、 3des、mix01、mix02、mix03、mix04 | 是 | sm4 |
key | 加密密钥,SM4需要16位字符串,3DES需要24位字符串 | 是 |
算法说明
sm4:SM4算法,16位密钥3des:3DES算法,24位密钥mix01:混合加密算法(3DES+SM4),32位密钥mix02:混合加密算法(SM4+3DES),32位密钥mix03:混合加密算法(3DES+SM4),需要自定义盐值,32位密钥mix04:混合加密算法(SM4+3DES),需要自定义盐值,32位密钥mix05:混合加密算法(SM4),32位密钥mix06:混合加密算法(3DES),32位密钥mix07:混合加密算法(SM4),需要自定义盐值,32位密钥mix08:混合加密算法(3DES),需要自定义盐值,32位密钥
mix加密说明
mix加密会自动混淆密钥,确保加密后的字符串无法直接看出原始数据。
密钥管理
密钥生成
可以直接用命令行生成加密密钥。
SM4密钥生成
bash
./encipher_linux_amd64 -genSm4Key -encType=sm41
3DES密钥生成
bash
./encipher_linux_amd64 -genDes3Key -encType=sm41
MIX密钥生成
bash
./encipher_linux_amd64 -genMixKey -encType=sm41
密钥安全
- 密钥存储:密钥应存储在配置中心,避免硬编码
- 密钥传输:使用安全的配置中心传输密钥
- 密钥隔离:不同业务类型使用不同的密钥
业务隔离
业务类型映射
每个业务类型对应独立的加密配置:
yaml
encrypts:
- business-type: demo
encrypt-type: 3des
key: ENCSM4(ELBhaks30ueBUQf4iCf4v9NijeMsT5hKH/XejEJziuKDpX2lKW91xCwC6X6owtRaug==)
- business-type: demo2
encrypt-type: sm4
key: ENCSM4(EFwkFV7teAQdZk41516RZDE0XWANK/SZUhZbQG2Q6xm2UrQc8vFsf0/ScA2X3BOqzw==)1
2
3
4
5
6
7
2
3
4
5
6
7