IV|ciphertext
注意 Go 代码
if _,err := io.ReadFull(rand.Reader,iv); err != nil {
panic(err)
}
用随机值初始化 IV。所以IV的输出应该在那之后。由于它在发布的代码中之前打印,因此显示零 IV,但与使用的 IV 不对应。
顺便说一句,对于解密,不需要显式输出,因为如前所述,代码连接了 IV 和密文。
WordArray
CBC 和 PKCS7 填充是默认值,可以但不必指定。
以下 CryptoJS 代码中的密文是使用 Go 代码生成的:
Test
,
试试这个,确保您使用相同的密钥进行加密和解密
//The get method is use for decrypt the value.
get(keys,value){
var key = CryptoJS.enc.Utf8.parse(keys);
var iv = CryptoJS.enc.Utf8.parse(keys);
var decrypted = CryptoJS.AES.decrypt(value,key,{
keySize: 128 / 8,iv: iv,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}