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);中,正确得到加密后的明文。html

 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.htmljava

相关文章
相关标签/搜索