CryptoJS和Java進行加解密

CryptoJS和Java進行加解密
使用AES加密算法時CryptoJS無法對Java的十六進制的AES的字符串的密文進行解密的問題。
在使用CryptoJS進行前後端加密時。使用CryptoJS對java的16進制的aes的字符串密文進行解密遇到無法進行解密。在測試過程中我對同一個消息進行加密,獲得了同樣的密文。在這種情況下CryptoJS不能Java進行解密時不可能的。在思考了幾分鐘,我對CryptoJS加解密對象進行查看它們的原型。它們都屬於object,在仔細查看中,發現他們的屬性和使用CryptoJS.enc.Hex.parse()進行包裝的對象一樣。我對java的密文使用CryptoJS.enc.Hex.parse()進行包裝,得到的對象傳入到process(encryptor);中,正確獲得加密後的明文。

複製代碼
1 var key = CryptoJS.enc.Hex.parse("fe4c2807af7c26924af5e0dae82c2209");
2 var iv = CryptoJS.enc.Hex.parse("d67038555ecb505db3b9d06852da2641");
3 var aesDecryptor = CryptoJS.algo.AES.createDecryptor(key, {
4 iv: iv,
5 mode: CryptoJS.mode.CBC,
6 padding: CryptoJS.pad.Pkcs7
7 });
8 var aesEncode = CryptoJS.enc.Hex.parse("e8a282ac9cbd9d2614f91f20c4e9b598");
9 aesDecryptor.process(aesEncode);
10 var aesDecode = aesDecryptor.finalize();
11 console.log(aesDecode.toString(CryptoJS.enc.Utf8))
複製代碼
原文地址https://www.cnblogs.com/blueSkyBlog/p/10801780.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章