本文实例讲述了Java实现的对称加密算法3 des定义与用法。分享给大家供大家参考,具体如下:
1,返回柯克霍夫原则
2,存在安全问题
1,密钥长度增强
2,迭代次数提高
包com.imooc.security.des; 进口java.security.Key; 进口java.security.SecureRandom; 进口javax.crypto.Cipher; 进口javax.crypto.KeyGenerator; 进口javax.crypto.SecretKey; 进口javax.crypto.SecretKeyFactory; 进口javax.crypto.spec.DESedeKeySpec; 进口org.apache.commons.codec.binary.Base64; 公开课Imooc3DES { 私有静态字符串src=" https://www.yisu.com/zixun/cakin24安全3 des”; 公共静态void main (String [] args) { jdk3DES (); } 公共静态孔隙jdk3DES () { 尝试{//生成键 KeyGenerator KeyGenerator=KeyGenerator.getInstance (“DESede”);//keyGenerator.init (168); keyGenerator。init(新SecureRandom());//默认长度 SecretKey SecretKey=keyGenerator.generateKey (); byte [] bytesKey=secretKey.getEncoded ();//关键转换 DESedeKeySpec DESedeKeySpec=new DESedeKeySpec (bytesKey); SecretKeyFactory工厂=SecretKeyFactory.getInstance (“DESede”); 关键convertSecretKey=factory.generateSecret (desedeKeySpec);//加密 密码密码=. getinstance (“DESede/欧洲/PKCS5Padding”); cipher.init(密码。ENCRYPT_MODE convertSecretKey); 结果byte []=cipher.doFinal (src.getBytes ()); system . out。println (“jdk 3 des加密:”+ Base64.encodeBase64String(结果));//解密 cipher.init(密码。DECRYPT_MODE convertSecretKey); 结果=cipher.doFinal(结果); system . out。println (“jdk 3 des解密:”+新字符串(结果)); }捕捉(异常e) { e.printStackTrace (); } } } >之前
jdk 3 des加密:6 t7a/RnarDZSl + MteZVBfxWnNZr0yjBw
引用>
jdk 3 des解密:cakin24安全3 des<强>注:强>这里引入了<代码> org.apache.commons.codec.binary.Base64> 代码包,可点击此处。
<强>加密/解密工具:
强>, RC4等):
http://tools.jb51.net/password/CreateMD5Password
强> http://tools.jb51.net/password/txt_encodehttp://tools.jb51.net/password/hash_md5_sha
http://tools.jb51.net/password/sha_encode
更多关于java相关内容感兴趣的读者可查看本站专题:《java数学运算技巧总结》,《java数据结构与算法教程》、《java字符与字符串操作技巧总结》,《java操作DOM节点技巧总结》和《java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
Java实现的对称加密算法3 des定义与用法示例