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"));点击空白处退出提示
评论