前端用CryptoJS类库的AES加密,后端解密不出来

      前端使用CryptoJS类库,进行AES加密提交到后台之后,后台解密失败,报错Given final block not properly padded 经过一番搜索,终于有了解决方案!

由于后台java使用AES加密使用的是AES/EBC/PKCS5Padding进行初始化的,
1、首先var key = CryptoJS.enc.Utf8.parse(key);  
2、由于后端用的PKCS5Padding,而CryptoJS类库类库中没有,但有PKCS7Padding,跟PKCS5Padding是一样的,所以加密时加上红色部分的参数即可:
CryptoJS.AES.encrypt(text, key, {  
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
});

你可能感兴趣的:(AES,前端)