CryptoJS.AES 前端加密跟后台不一样,什么问题?

新手上路,请多包涵

CryptoJS.AES 加密问题,求助大佬。

function aesEncrypt(encryptString, key) {
                var key = CryptoJS.enc.Utf8.parse(key);
                var srcs = CryptoJS.enc.Utf8.parse(encryptString);
                var encrypted = CryptoJS.AES.encrypt(encryptString, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
                return encrypted.ciphertext.toString()
            }
        
            var key = "111111"; // 至少四位数字
            var pazzword = "017E5302";
            pazzword = aesEncrypt(pazzword, key);
            console.log('加密后:' + pazzword);

结果:加密后:9cd68c67a795b0f30d6d19dfae7c20e7

后台结果:1534ca28abb6a7d34ff73fe6d41610a0
跟这个网站查询结果一样,网站地址:http://tool.chacuo.net/cryptaes

阅读 4.8k
3 个回答

算法是一样的,按道理应该都一样。

会不会是你那边的前后端代码或者是key和pazzword不一致导致的?

新手上路,请多包涵

值得注意的是密钥的长度,由于对称解密使用的算法是 AES-128-CBC 算法,数据采用 PKCS#7 填充 , 因此这里的 key 需要为16位!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题