This is a playground to test JavaScript. It runs a completely standard copy of Node.js on a virtual server created just for you. Every one of npm’s 300,000+ packages are pre-installed, so try it out:
var sjcl = require("sjcl")
function encryption(params) {
var iv = sjcl.random.randomWords(4, 0);
var keyString = "2d73c1dd2f6a3c981afc7c0d49d7b58f";
var key = sjcl.codec.base64.toBits(keyString);
var cipher = new sjcl.cipher.aes(key);
var data = sjcl.codec.utf8String.toBits(params);
const enc = sjcl.mode.gcm.encrypt(cipher, data, iv, {}, 128);
const concatbitArray = sjcl.bitArray.concat(iv, enc);
const conString = sjcl.codec.base64.fromBits(concatbitArray);
return conString;
}
const data= { name: 'harsh',
email: 'test@gmail.com',
mobileNumber: '9999999999',
}
function decryptor(content) {
const bitArray = sjcl.codec.base64.toBits(content);
const bitArrayCopy = bitArray.slice(0);
const ivdec = bitArrayCopy.slice(0, 4);
const encryptedBitArray = bitArray.slice(4);
var key = sjcl.codec.base64.toBits("2d73c1dd2f6a3c981afc7c0d49d7b58f");
let cipher = new sjcl.cipher.aes(key);
const data = sjcl.mode.gcm.decrypt(cipher, encryptedBitArray, ivdec, {}, 128);
const str = sjcl.codec.utf8String.fromBits(data);
console.log(str);
}
const enStr = encryption(JSON.stringify(data));
decryptor(enStr);
Loading…
1 comment
posted 4 years ago by iambhosale
Hi Thanks this code helped a lot but when we use key string with character '_' it is throwing error.
exact code where we are getting error is
var keyString = "gsOf2ZzfZnRT9L01KUNJco_i291SlRVxBdHLychkBB0";
var key = sjcl.codec.base64.toBits(keyString);