我正在尝试使用CryptoJS进行加密。加密似乎工作正常,但是当我解密密码时,我没有得到初始的纯文本密码。
这是我的JavaScript代码:
<script type="text/javascript">
var password = "";
function noSsl()
{
$(document).ready(function()
{
$("#dialog").dialog({ show: 'fade', hide: 'fade' });
});
}
function savePassword()
{
password = document.getElementById("ap").value;
alert("Initial password: " + password);
enPassword = CryptoJS.AES.encrypt(password, <?php echo '"'.$currentAdk.'"'; ?>);
$(document).ready(function()
{
$("#ap").slideToggle("slow");
$("#sp").slideToggle("slow");
$("#sp").remove();
});
alert("Encrypted: " + enPassword);
var decrypted = CryptoJS.AES.decrypt(enPassword, <?php echo '"'.$currentAdk.'"'; ?>)
alert("Decrypted: " + decrypted);
}
</script>
结果如下:
答案 0 :(得分:2)
要使用CryptoJS获取解密的纯文本密码,您需要使用:
var decryptedPlaintextPassword = CryptoJS.AES.decrypt(enPassword, <?php echo '"'.$currentAdk.'"'; ?>).toString(CryptoJS.enc.Utf8);
答案 1 :(得分:0)
您可以使用纯Javascript进行同样的操作。
var message = "Test using crypto-js";
var passcode = "1234";
var encrypt = CryptoJS.AES.encrypt(message, passcode);
var decrypt = CryptoJS.AES.decrypt(encrypt, passcode);
// You need to use the toString() method to change back to plain text.
var text = decrypt.toString(CryptoJS.enc.Utf8);