CryptoJS Encryption and Decryption
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/core-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/cipher-core-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/aes-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/enc-base64-min.js"></script>
<div id="enc"></div>
<div id="dec"></div>
JavaScript
var key = CryptoJS.enc.Utf8.parse("93wj660t8fok9jws");
var iv = CryptoJS.enc.Utf8.parse("r0yy7e67p49ee4d7");
// console.log(key.toString());
// console.log(iv.toString());
function encrypt(plainText) {
return CryptoJS.AES.encrypt(plainText, key,
{ iv: iv,
padding: CryptoJS.pad.Pkcs7,
mode: CryptoJS.mode.CBC
}).ciphertext.toString(CryptoJS.enc.Base64);
}
function decrypt(encryptedText) {
var cipherParams = CryptoJS.lib.CipherParams.create({
ciphertext: CryptoJS.enc.Base64.parse(encryptedText)
});
return CryptoJS.AES.decrypt(cipherParams, key,
{ iv: iv,
padding: CryptoJS.pad.Pkcs7,
mode: CryptoJS.mode.CBC
}).toString(CryptoJS.enc.Utf8);
}
var start = new Date().getTime();
var encrypted = encrypt('{\"name\": \"Sushant\", \"loves\": \"cats\"}');
var end = new Date().getTime();
console.log(end - start);
document.getElementById('enc').innerHTML = encrypted;
document.getElementById('dec').innerHTML = decrypt(encrypted);