两种JavaScript的AES加密方式(可与Java相互加解密)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了两种JavaScript的AES加密方式(可与Java相互加解密),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2442字,纯文字阅读大概需要4分钟。
内容图文
由于JavaScript属于弱类型脚本语言,因此当其与强类型的后台语言进行数据交互时会产生各种问题,特别是加解密的操作。本人由于工作中遇到用js与Java进行相互加解密的问题,在网上查了很多资料及代码段,均无法解决。后总结多篇文档内容终于找到解决办法,现记录与此:
下面给大家介绍两种JavaScript的AES加密方式,具体详情如下所示:
第一种:加解密时需要秘钥(key)和秘钥偏移量(iv)的情况,在线验证地址:http://www.seacha.com/tools/aes.html
//该方法可与Java进行相互加解密<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>需要秘钥(key)及秘钥偏移量(iv)的aes加解密</title> </head> <body> <script src="aes_1.js"></script> //引入的js文件在该链接中:https://github.com/hellobajie/AES-of-JavaScript <script> var key = CryptoJS.enc.Utf8.parse("十六位十六进制数作为秘钥"); var iv = CryptoJS.enc.Utf8.parse('十六位十六进制数作为秘钥偏移量'); function Encrypt(word){ srcs = CryptoJS.enc.Utf8.parse(word); var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv,mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7}); return encrypted.ciphertext.toString().toUpperCase(); } function Decrypt(word){ var encryptedHexStr = CryptoJS.enc.Hex.parse(word); var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); var decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv,mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7}); var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); return decryptedStr.toString(); } var mm = Encrypt('nihao') console.log(mm); var jm = Decrypt(mm); console.log(jm) </script> </body> </html>//如果想要深度了解每步作用,可以参考:http://zhidao.baidu.com/question/647688575019014285.html?qbl=relate_question_0&word=javascript%20aes
第二种:加解密时仅需要秘钥,在线验证地址:http://encode.chahuo.com/
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>加解密时仅需要秘钥</title> </head> <body> <script src="aes_2.js"></script> //引入的js文件在该链接中:https://github.com/hellobajie/AES-of-JavaScript <script type="text/javascript"> var pwd="秘钥"; function Encrypt(word){ return CryptoJS.AES.encrypt(word,pwd).toString(); } function Decrypt(word){ return CryptoJS.AES.decrypt(word,pwd).toString(CryptoJS.enc.Utf8); } var mm = Encrypt('nihao'); console.log(mm) var jm = Decrypt(mm); console.log(jm) </script> </body> </html>
以上所述是小编给大家介绍的两种JavaScript的AES加密方式(可与Java相互加解密),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
内容总结
以上是互联网集市为您收集整理的两种JavaScript的AES加密方式(可与Java相互加解密)全部内容,希望文章能够帮你解决两种JavaScript的AES加密方式(可与Java相互加解密)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。