在简单的 html 页面中使用 javascript 使用 Rijndael 128 ecb 解密

Decrypt with Rijndael 128 ecb using javascript in a simple html page

我想使用 Rijndael 128 ecb 算法解密像 4vEUkMYlT2qJq+9J0GT8VQ== 这样的加密密码。我找到了一些图书馆,但没有任何工作正常。一些库仅适用于 nodejs,其他库适用于 php。我只有一个简单的 html 页面,它从 ajax.and 中获取加密文本,我想使用相同的算法 Rijndael 128 ecb 进行解密。 (密文为4vEUkMYlT2qJq+9J0GT8VQ==解密结果为Novaphen) 每个人都可以给我一个用 javascript 解密的解决方案吗?

我终于可以用这个 link 了。 : Encrypt with PHP, Decrypt with Javascript 这是我的解密函数:

    function DecryptData(encryptedData) {
    var decryptedText = null;
    try {
        // Mcrypt pads a short key with zero bytes
        key = CryptoJS.enc.Utf8.parse('doctorlinktechno')

        iv = CryptoJS.enc.Utf8.parse('keee')

        // Keep the ciphertext in Base64 form
        ciphertext = '4vEUkMYlT2qJq+9J0GT8VQ=='

        // Mcrypt uses ZERO padding
        plaintext = CryptoJS.AES.decrypt(ciphertext, key, { iv: iv, mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.ZeroPadding })

        // I ran this in nodejs
        return CryptoJS.enc.Utf8.stringify(plaintext);
    }
    //Malformed UTF Data due to incorrect password
    catch (err) {
        return "";
    }
}

重点是您必须根据您的工作包含相关文件。例如我想使用 ecb 模式和填充零,我包括以下文件:

<script src="scripts/aes/core.js"></script>
<script src="scripts/aes/enc-base64.js"></script>
<script src="scripts/aes/cipher-core.js"></script>
<script src="scripts/aes/aes.js"></script>
<script src="scripts/aes/mode-ecb.js"></script>
<script src="scripts/aes/pad-zeropadding.js"></script>