I'm trying to encrypt something using crypto-js and using the AES type of encryption.
The problem i'm having is that my encrypted value is different every time I encrypt it.
With this simple example, I run the same encryption 5 different times and I get 5 different results. Wtf is going on here?
task.js
var AES = require('crypto-js/aes');
var key = "abc123";
var secret = "encryptThisWord";
console.log(AES.encrypt(secret, key).toString());
console.log(AES.encrypt(secret, key).toString());
console.log(AES.encrypt(secret, key).toString());
console.log(AES.encrypt(secret, key).toString());
console.log(AES.encrypt(secret, key).toString());
I faced the same issue. This is simply due to us not knowing the working of algorithm. Simply put, the key and IV are different for each call of the encrypt method, as mentioned in the above answer.
To ensure the exact same value for each iteration - you can refer to this answer https://stackoverflow.com/a/47096284/4098272
Alternatively, you can use the SHA3 function and compare the two Hash values.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With