Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var CryptoJS = require("crypto-js");
- var AESKey = '2B7E151628AED2A6ABF7158809CF4F3C';
- encryptMessage("helloAll")
- function encryptMessage(messagePlain) {
- console.log("-----------------------")
- console.log("---- EncryptMessage ---")
- console.log("-----------------------")
- try {
- var key = CryptoJS.enc.Hex.parse(AESKey);
- var ivPlain = "987654321098765" // generate IV
- // var ivBase64 = new Buffer(ivPlain).toString('base64') // ENCODE BASE 64 IV
- var ivHex = CryptoJS.enc.Hex.parse(ivPlain);
- var txtBase64 = new Buffer(messagePlain).toString('base64') // ENCODE BASE 64 TEXT
- var encrypted1 = CryptoJS.AES.encrypt(txtBase64, key , { iv: ivHex });
- encrypted1.toString(CryptoJS.enc.base64)
- console.log("encrypted1: "+ encrypted1);
- console.log("iv1: "+ ivHex);
- decryptMessage(encrypted1, ivHex)
- }catch(error) {
- console.log("error ENCRYPT: "+error)
- }
- }
- function decryptMessage(msg, ivSEend) {
- console.log("-----------------------")
- console.log("---- DecryptMessage ---")
- console.log("-----------------------")
- /* console.log("Get plain iv...");
- console.log( ivSEend );
- var plain_iv = new Buffer( ivSEend , 'base64').toString('hex'); // DECODE BASE 64 IV -> transform HEX
- console.log("The plain iv is: " , plain_iv );
- var iv = CryptoJS.enc.Hex.parse( plain_iv );
- */
- var iv= ivSEend;
- var key = CryptoJS.enc.Hex.parse( AESKey );
- // Decrypt
- var bytes = CryptoJS.AES.decrypt( msg, key , { iv: iv} )
- console.log("bytes: "+bytes)
- try {
- var plaintext = bytes.toString(CryptoJS.enc.Base64)
- var decoded_b64msg = new Buffer(plaintext , 'base64').toString('ascii'); // DECODE BASE 64 IV
- var decoded_msg = new Buffer( decoded_b64msg , 'base64').toString('ascii');
- console.log("Decrypt: ", decoded_msg);
- }catch(error) {
- console.log("error DECRYPT: "+error)
- }
- }
- ~
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement