文章目录
- 1、什么是SM4算法
- 2、SpringBoot集成国密SM4加密算法
-
- 2.1.在 `pom.xml `文件添加国密算法依赖
- 2.2.编写加密工具类
- 2.3.SM4工具类测试
- 2.4. 对数据库配置信息进行加解密
-
- 2.4.1. 修改数据库配置信息
- 2.4.2.修改数据库配置
- 3.小结
在业务系统构建与部署的环节中,数据库作为核心存储组件,其连接信息的安全至关重要。通常情况下,这些敏感信息,如数据库密码,会直接以明文形式存储在YAML配置文件
中,这无疑增加了信息泄露的风险。为有效应对这一挑战,我们可以采取一种安全措施:即在配置数据库密码时先对其进行加密处理,而在应用程序读取时则进行相应的解密操作。这样的处理方式能够有效屏蔽敏感信息,显著降低信息泄露的风险,从而确保数据库连接信息的安全性。
1、什么是SM4算法
国密
即国家密码局认定的国产密码算法
。主要有SM1
,SM2
,SM3
,SM4
。密钥长度和分组长度均为128位。
SM1
为对称加密。其加密强度与AES
相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
SM2
为非对称加密,基于ECC
。该算法已公开。由于该算法基于ECC
,故其签名速度与秘钥生成速度都快于RSA
。ECC 256位
(SM2
采用的就是ECC 256位
的一种)安全强度比RSA 2048
位高,但运算速度快于RSA
。
SM3消息摘要
。可以用MD5
作为对比理解。该算法已公开。校验结果为256位。
SM4
无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。
2、SpringBoot集成国密SM4加密算法
2.1.在 pom.xml
文件添加国密算法依赖
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
<version>1.76</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.25