在 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#5PKCS#7 之间没有区别。

PKCS#5 和 PKCS#7 填充之间的区别在于它支持的块大小。 PKCS#5 仅适用于 8 字节块,而 PKCS#7 适用于 1 到 255 字节之间的块大小。 AES 使用 8 字节的块大小。