在 Cryptojs 中使用 Pkcs5 填充和 AES 加密
Use Pkcs5 padding With AES encryption in Cryptojs
我只需要使用 cryptojs AES 加密,但使用我在 Cryptjs 文档中找不到的填充 Pkcs5,我想这样做是因为后端需要它。
它适用于 Pkcs7 和密码模式 ECB,如何将此函数转换为适用于 Pkcs5
encryptByAES: function (secretPwd) {
var keyHex = CryptoJS.enc.Utf8.parse(this.encryption_key);
var encrypted = CryptoJS.AES.encrypt(secretPwd, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
console.log('encryptByAES key: ',encrypted.toString());
return encrypted.toString();
}
与 AES 一起使用时,PKCS#5 和 PKCS#7 之间没有区别。
PKCS#5 和 PKCS#7 填充之间的区别在于它支持的块大小。 PKCS#5 仅适用于 8 字节块,而 PKCS#7 适用于 1 到 255 字节之间的块大小。 AES 使用 8 字节的块大小。
我只需要使用 cryptojs AES 加密,但使用我在 Cryptjs 文档中找不到的填充 Pkcs5,我想这样做是因为后端需要它。 它适用于 Pkcs7 和密码模式 ECB,如何将此函数转换为适用于 Pkcs5
encryptByAES: function (secretPwd) {
var keyHex = CryptoJS.enc.Utf8.parse(this.encryption_key);
var encrypted = CryptoJS.AES.encrypt(secretPwd, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
console.log('encryptByAES key: ',encrypted.toString());
return encrypted.toString();
}
与 AES 一起使用时,PKCS#5 和 PKCS#7 之间没有区别。
PKCS#5 和 PKCS#7 填充之间的区别在于它支持的块大小。 PKCS#5 仅适用于 8 字节块,而 PKCS#7 适用于 1 到 255 字节之间的块大小。 AES 使用 8 字节的块大小。