国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

兩種JavaScript的AES加密方式(可與Java相互加解密)

2019-11-20 09:20:24
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

由于JavaScript屬于弱類型腳本語(yǔ)言,因此當(dāng)其與強(qiáng)類型的后臺(tái)語(yǔ)言進(jìn)行數(shù)據(jù)交互時(shí)會(huì)產(chǎn)生各種問(wèn)題,特別是加解密的操作。本人由于工作中遇到用js與Java進(jìn)行相互加解密的問(wèn)題,在網(wǎng)上查了很多資料及代碼段,均無(wú)法解決。后總結(jié)多篇文檔內(nèi)容終于找到解決辦法,現(xiàn)記錄與此:

下面給大家介紹兩種JavaScript的AES加密方式,具體詳情如下所示:

第一種:加解密時(shí)需要秘鑰(key)和秘鑰偏移量(iv)的情況,在線驗(yàn)證地址:http://www.seacha.com/tools/aes.html

//該方法可與Java進(jìn)行相互加解密<!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("十六位十六進(jìn)制數(shù)作為秘鑰"); var iv = CryptoJS.enc.Utf8.parse('十六位十六進(jìn)制數(shù)作為秘鑰偏移量'); 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 

第二種:加解密時(shí)僅需要秘鑰,在線驗(yàn)證地址:http://encode.chahuo.com/

<!doctype html><html lang="en"><head><meta charset="UTF-8"><title>加解密時(shí)僅需要秘鑰</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相互加解密),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蓬莱市| 特克斯县| 博客| 永寿县| 娄烦县| 蒙自县| 乌兰浩特市| 百色市| 张家川| 云龙县| 宁陕县| 湘潭县| 苍山县| 壤塘县| 兰考县| 阳朔县| 西峡县| 西丰县| 石景山区| 盐亭县| 泾阳县| 定远县| 鲁甸县| 满洲里市| 石台县| 郁南县| 佛山市| 荥阳市| 侯马市| 瓦房店市| 锡林浩特市| 政和县| 兰西县| 游戏| 鲁山县| 瑞丽市| 呈贡县| 广河县| 崇明县| 木里| 黄陵县|