Encryption 输入错误密码解锁加密内容时显示通知框

Encryption 输入错误密码解锁加密内容时显示通知框,encryption,cryptojs,Encryption,Cryptojs,我使用Cryptojs加密我的文本,并使用以下代码解密: <div id="decrypt-box"> <div class="decrypt-form" id="decryption" data-href="U2FsdGVkX1+Fg5XynZFlZHmhvMhAw9l7jlKt2WEpYYWEkOy7L360rZ7xd19TvoXp"> <div> password to unlock: asd</div> <form action

我使用Cryptojs加密我的文本,并使用以下代码解密:

 <div id="decrypt-box">
 <div class="decrypt-form" id="decryption" data-href="U2FsdGVkX1+Fg5XynZFlZHmhvMhAw9l7jlKt2WEpYYWEkOy7L360rZ7xd19TvoXp">
<div> password to unlock: asd</div>
 <form action="#" id="decrypt-form" method="post">
<input autofocus="" id="decrypt-password" name="password" placeholder="Password" type="password" />

        <input class="decrypt-button" type="submit" value="Unlock" />
    </form>
<div id="decrypt-alert">
</div>
</div>
</div>
<div id='decrypt-content'></div>
<script src="https://cdn.rawgit.com/CryptoStore/crypto-js/3.1.2/build/rollups/aes.js"></script>
<script>
document.getElementById('decrypt-form').addEventListener('submit', function(e) {
    e.preventDefault();
var c=document.getElementById('decryption');
    var encryptedMsg=c.getAttribute('data-href'),
        passphrase = document.getElementById('decrypt-password').value,
        decrypted = CryptoJS.AES.decrypt(encryptedMsg, passphrase);
        decrypted = decrypted.toString(CryptoJS.enc.Utf8);                                    

        document.getElementById('decrypt-content').innerHTML = decrypted;    

});
</script>

要解锁的密码:asd
document.getElementById('decrypt-form')。addEventListener('submit',函数(e){
e、 预防默认值();
var c=document.getElementById('decryption');
var encryptedMsg=c.getAttribute('data-href'),
passphrase=document.getElementById('decrypt-password')。值,
decrypted=CryptoJS.AES.decrypt(encryptedMsg,密码短语);
decrypted=decrypted.toString(CryptoJS.enc.Utf8);
document.getElementById('decrypt-content')。innerHTML=已解密;
});
我的问题是:

如果输入了错误的密码,如何显示通知框


谢谢。

您需要使用HMAC来确定密码是否正确。#卢克·约书亚·帕克,您能更清楚地解释一下吗?AES只是使用密钥将一个128位的块转换为另一个128位的块。任何密钥都可以与AES一起使用,如果密钥不正确,您将得到与预期不同的128位块。因此,您需要对原始数据进行HMAC,并将结果与密文一起保存。然后,一旦你完成解密,你可以再次HMAC,看看他们是否匹配。如果有,那就是正确的密码。#卢克·约书亚·帕克,你能给我举个例子吗?对不起,我的技术不好。你可以自己研究一下,网上有很多信息。