一、什么是国密加密

二、国密实现

本系统实现了国密SM2SM4加解密,可以在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);

通过sqlsugaraop配置可以实现自动解密