SM4Utils国密 SM4 加解密
SM4Utils 是一个封装了国密SM4算法的对称的加密和解密工具,支持 JavaScript 和 Java ,这是Java版本。
使用方法
- 引入
<!-- https://mvnrepository.com/artifact/icu.xuyijie/SM4Utils -->
<dependency>
<groupId>icu.xuyijie</groupId>
<artifactId>SM4Utils</artifactId>
<version>1.4.1</version>
</dependency>
- 使用
/**
* ECB 加密模式
*/
//不使用自定义 secretKey,一般用于后端自行加解密
// 如果是前端加密后端解密,则需要自定义secretKey,secretKey一致才能正确解密
System.out.println("经过ECB加密的密文为:" + SM4Utils.encryptData_ECB("123456"));
System.out.println("经过ECB解密的密文为:" + SM4Utils.decryptData_ECB("UQZqWWcVSu7MIrMzWRD/wA=="));
//使用自定义 secretKey,传入的 secretKey 必须为16位,可包含字母、数字、标点
System.out.println("经过ECB加密的密文为:" + SM4Utils.encryptData_ECB("123456"));
System.out.println("经过ECB解密的密文为:" + SM4Utils.decryptData_ECB("UQZqWWcVSu7MIrMzWRD/wA=="));
/**
* CBC 加密模式(更加安全)
* 需要两个密钥 secretKey 和 iv
*/
System.out.println("经过CBC加密的密文为:" + SM4Utils.encryptData_CBC("123456"));
System.out.println("经过CBC解密的密文为:" + SM4Utils.decryptData_CBC("hbMK6/IeJ3UTzaTgLb3f3A=="));
//同样可以自定义 secretKey 和 iv,需要两个密钥前后端都一致
System.out.println("经过CBC加密的密文为:" + SM4Utils.encryptData_CBC("123456", "asdfghjklzxcvb!_", "1234567890123456"));
System.out.println("经过CBC解密的密文为:" + SM4Utils.decryptData_CBC("sTyCl3G6TF311kIENzsKNg==", "asdfghjklzxcvb!_", "1234567890123456"));
评论
SM4Utils国密 SM4 加解密
SM4Utils是一个封装了国密SM4算法的对称的加密和解密工具,支持JavaScript和Java,这是Java版本。使用方法引入<!--https://mvnrepository.com/a
SM4Utils国密 SM4 加解密
0
jBCrypt加解密工具
java版Bcrypt,加解密工具(用于账号密码加密,被时间检证过了),对用户的口令进行Hash,并使用salt,以防止Rainbow攻击(Hash算法可用MD5或SHA1等,对口令使用salt的意思
jBCrypt加解密工具
0
国密技术(江苏)有限公司
许可项目:建筑智能化工程施工;建筑智能化系统设计;商用密码产品销售;商用密码产品质量检测业务(依法须经批准的项目,经相关部门批准后方可开展经营活动,具体经营项目以审批结果为准)一般项目:软件开发;技术
国密技术(江苏)有限公司
0