一、什么是国密加密
二、国密实现
本系统实现了国密SM2
和SM4
加解密,可以在SimpleAdmin.Core
下的Utils
->Cryptogram
文件夹下找到。
2.1 SM2
Sm2加解密需要配置公钥
和私钥
,在配置文件中配置即可
前端通过公钥
加密数据,详情可看utils
下的smCrypto.js
,具体实现在用户登录
功能中。
后端直接通过 CryptogramUtil.Sm2Decrypt
方法解密前端传过来的加密字符串
var password = CryptogramUtil.Sm2Decrypt(input.Password);//SM2解密
2.2 SM4
Sm4也有key和value但是我没有存在配置文件,而知直接写死在了构造函数中。
本系统用户手机号是采用SM4加解密存储的,通过CryptogramUtil.Sm4Encrypt
方法加密手机号
sysUser.Phone = CryptogramUtil.Sm4Encrypt(sysUser.Phone);
通过sqlsugar
的aop
配置可以实现自动解密