无法将 CryptoJS 加密的密文打印到页面

Can't print CryptoJS-encrypted ciphertext to page

我无法使用 jQuery 访问 encryptedData 变量,但在 alert 中可以使用!!!

<script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="js/aes.js"></script>
<script>
  $( document ).ready(function() {
    var textToEncrypt = "textToEncrypt";
    var secretPhrase  = "secretPhrase";
    var encryptedData = CryptoJS.AES.encrypt(textToEncrypt, secretPhrase);
    $('#data').text(encryptedData);  
    alert(encryptedData);
  });
</script>

<div id="data"></div>

encryptedData 是一个 CipherParams 对象,包含 ciphertextsaltiv 等各种属性。 jQuery 的 text 函数获取此对象并尝试将其直接分配给元素。另一方面,alert 首先将其字符串化。你可能想要:

$('#data').text(encryptedData.toString());