需要帮助使用 Javascript 解密 AES 加密字符串(使用 crypto-js)

Need help decrypting an AES encrypted string with Javascript (using crypto-js)

我发现有人写了一个用CryptoJS在客户端加密数据的演示页面,它在这里:

https://github.com/odedhb/AES-encrypt

它只有加密功能,所以我添加了我认为会是解密功能的功能,但结果却得到了完全不同的文本。

我的整个测试页:

<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>

<br>text:<input id='text' type='text' value='0.1'/>

<br>password:<input id='pass' type='text' value='cool'/>

<br><button onclick="encrypt()">encrypt</button>
<br><button onclick="decrypt()">decrypt</button>


<br>encrypted:<br><input id='result'></input>


<br>decrypted:<br><span id="decode"></span>

<script>
    function encrypt(){

        var encrypted = CryptoJS.AES.encrypt(document.getElementById("text").value, document.getElementById("pass").value);
        document.getElementById("result").value = encrypted;
    }

    function decrypt(){

        var decrypted = CryptoJS.AES.decrypt(document.getElementById("result").value, document.getElementById("pass").value);
        document.getElementById("decode").innerHTML = decrypted;
    }

</script>

</html>

在此页面上,如果我输入 Hi I'm Lucas 作为明文(无引号),密码为 passwd,我会收到一个字符串:U2FsdGVkX1/S3TobCOdyJ7k7eaBhdFKRpJkDBTpV1D0=

如果我继续单击解密按钮,我不会收到任何错误,但我只会得到 48692049276d204c75636173.

的结果

显然,我做错了什么,希望得到帮助:)

this 开始,似乎以下应该有效:

document.getElementById("decode").innerHTML = decrypted.toString(CryptoJS.enc.Utf8)