JSFiddle - React, Tailwind, and code Playground
by trentHarlem
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9/sha256.js"></script>
<
JavaScript
const data = "Trent Harlem"; //Message to Encrypt
var iv = CryptoJS.enc.Base64.parse(""); //giving empty initialization vector
var key = CryptoJS.SHA256("Message"); //hashing the key using SHA256
var encryptedString = encryptData(data, iv, key);
//console.log(encryptedString);//genrated encryption String: swBX2r1Av2tKpdN7CYisMg==
function encryptData(data, iv, key) {
if (typeof data == "string") {
data = data.slice();
encryptedString = CryptoJS.AES.encrypt(data, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
} else {
encryptedString = CryptoJS.AES.encrypt(JSON.stringify(data), key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
}
return encryptedString.toString();
}
//To decrypt the encrypted string take the encrypted string provide the same key which you have provided for encryption and as we have provided empty initialization vector for encryption provide same empty initialization vector and pass it to decrypt function
var iv = CryptoJS.enc.Base64.parse("");
var key = CryptoJS.SHA256("Message");
var decrypteddata = decryptData(encryptedString, iv, key);
console.log(decrypteddata);
console.log(encryptedString);
//genrated decryption string: Example1
function decryptData(encrypted, iv, key) {
console.log(encrypted)
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8)
}
/////////////////////////////////////////////
/* import sjcl from '/sjcl/';
function shade256(encryptThis) {
const myBitArray = sjcl.hash.sha256.hash(encryptThis)
const myHash = sjcl.codec.hex.fromBits(myBitArray)
console.log(myBitArray,myHash)
return [myBitArray,myHash]
}
shade256('trent harlem')
*/
// "https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"
// "https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9/sha256.js"