解密后保留填充
padding remain after decryption
我想使用 AES CBC 加密和解密字符串,但问题是解密后填充仍然存在;
key="wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww";
iv="1111111111111111";
var encrypted = CryptoJS.AES.encrypt("60000", key, { iv: iv , padding: CryptoJS.pad.Pkcs7, mode: CryptoJS.mode.CBC});
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv: iv,
padding: CryptoJS.pad.Pkcs7,
mode: CryptoJS.mode.CBC
});
console.log("mmh-dec",decrypted.toString());
我得到的是“3630303030”而不是 60000
将字节转换为字符串时缺少编码。
decrypted.toString()
应该是:
decrypted.toString(CryptoJS.enc.Utf8)
示例片段:
key="wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww";
iv="1111111111111111";
var encrypted = CryptoJS.AES.encrypt("60000", key, {
iv: iv,
padding: CryptoJS.pad.Pkcs7,
mode: CryptoJS.mode.CBC
});
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv: iv,
padding: CryptoJS.pad.Pkcs7,
mode: CryptoJS.mode.CBC
});
console.log("mmh-dec",decrypted.toString(CryptoJS.enc.Utf8));
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
我想使用 AES CBC 加密和解密字符串,但问题是解密后填充仍然存在;
key="wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww";
iv="1111111111111111";
var encrypted = CryptoJS.AES.encrypt("60000", key, { iv: iv , padding: CryptoJS.pad.Pkcs7, mode: CryptoJS.mode.CBC});
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv: iv,
padding: CryptoJS.pad.Pkcs7,
mode: CryptoJS.mode.CBC
});
console.log("mmh-dec",decrypted.toString());
我得到的是“3630303030”而不是 60000
将字节转换为字符串时缺少编码。
decrypted.toString()
应该是:
decrypted.toString(CryptoJS.enc.Utf8)
示例片段:
key="wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww";
iv="1111111111111111";
var encrypted = CryptoJS.AES.encrypt("60000", key, {
iv: iv,
padding: CryptoJS.pad.Pkcs7,
mode: CryptoJS.mode.CBC
});
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv: iv,
padding: CryptoJS.pad.Pkcs7,
mode: CryptoJS.mode.CBC
});
console.log("mmh-dec",decrypted.toString(CryptoJS.enc.Utf8));
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>