根据等保要求,用户密码在登录、创建、修改等操作过程中,密码传输到后台必须加密,以免密码存在在网络传输中泄露的风险。
之前经常使用的加密方式就是MD5,但是现在MD5加密已经不安全,存在破解的可能性,根据等保要求,密码必须使用SM2加密传输。
使用SM2加密的流程如下:
1.生成公私钥,公钥用来加密,私钥用来解密。
/**
* 生成公私钥
* @return
* @throws Exception
*/
public static String[] key() throws Exception{
String[] key = new String[2];
X9ECParameters sm2ECParameters = GMNamedCurves.getByName("sm2p256v1");
ECDomainParameters domainParameters = new ECDomainParameters(sm2ECParameters.getCurve(), sm2ECParameters.getG(), sm2ECParameters.getN());
ECKeyPairGenerator keyPairGenerator = new ECKeyPairGenerator();
keyPairGenerator.init(new ECKeyGenerationParameters(domainParameters, SecureRandom.getInstance("SHA1PRNG")));
AsymmetricCipherKeyPair asymmetricCipherKeyPair = keyPairGenerator.generateKeyPair();
//私钥
BigInteger privatekey = ((ECPrivateKeyParameters) asymmetricCipherKeyPair.getPrivate()).getD();
String privateKey = privat

本文介绍了如何遵循等保要求,通过SM2加密算法来增强密码在网络传输中的安全性。首先,详细展示了SM2加密的流程,包括公私钥的生成。接着,阐述了前端使用JS库进行加密,每次加密生成的密文不同,确保安全性。最后,给出了后台使用Java进行解密的步骤,并提供了所需依赖。这种方法有效防止了MD5等传统加密方式的安全隐患。
最低0.47元/天 解锁文章
2239

被折叠的 条评论
为什么被折叠?



