Мне нужно шифрование JAVASCRIPT AES и дешифрование текстовой строки с паролем в качестве ключа. Я собрал код из онлайн-трансформированных в соответствии с тем, что я знаю. Хотя работает каждый раз, когда я бегу, зашифрованная форма одного и того же сообщения и ключа / прохода отличается во время каждого запуска. И сначала шифрование и дешифрование работает хорошо, но когда вы делаете это во второй раз, зашифрованные данные отличаются от предыдущих данных того же сообщения и пароля / ключа.
Код ниже здесь. Если кто-то может преобразовать в рабочий код, это было бы очень полезно. Моя проблема в том, что каждый раз для одного и того же сообщения предоставляются разные данные шифрования. А во время второго дешифрования дешифрованные данные не являются полноразмерными, то есть отсутствуют некоторые строки. Для простоты я использовал простое сообщение, во время реального запуска я использовал сообщение - размер 128 символов и размер ключа / прохода 216 символов.
html>
<title>
Registration
</title>
<body>
<form name="prototype" onsubmit="pass()" action="registration.html"
method="post">
<br>
<br>
Custom Password <input id="passe" type="password" name="text2">
<br>
<br>
<input type="submit" value="Login" />
</form>
<script type="text/javascript" src="aes.js"></script>
/* I use it like above but for your referecene <script
src="https://cdnjs.cloudflare.com/ajax/libs/crypto-
js/3.1.2/rollups/aes.js" > </script> */
<script>
function pass()
{
var message="hai",f,g;
a=document.getElementById("passe").value;
f=encrypt(message,a);
document.write("\n <br> <br> Encrypted = ",f);
g=decrypt(f,a);
document.write("\n <br> <br> Decrypted = ",g);
}
function encrypt(message,key){
var message = CryptoJS.AES.encrypt(message, key);
return message.toString();
}
function decrypt(message,key){
var code = CryptoJS.AES.decrypt(message, key);
var decryptedMessage = code.toString(CryptoJS.enc.Utf8);
return decryptedMessage;
}
</script>
</body>
</html>