Below code is working
var crypto = require('crypto');
var cipher = crypto.createCipher('aes-128-cbc','abcdefghijklmnop')
var http = require('http')
var userStr = 'a134aad';
var crypted = cipher.update(userStr, 'utf8', 'hex');
crypted += cipher.final('hex');
console.log(crypted);
But when put into a server callback it doesn't work, and throws below err when a request arriving, and node is crush:
http.createServer(function(req, res){
var userStr = 'a134aad';
var crypted = cipher.update(userStr, 'utf8', 'hex');
crypted += cipher.final('hex');
console.log(crypted);
res.end('hello');
}).listen(9888)
---------------------------------
7364aee753f0568f7e5171add6868b75
crypto.js:170
var ret = this._handle.update(data, inputEncoding);
^
Error: Trying to add data in unsupported state
at Cipher.update (crypto.js:170:26)
at Server.<anonymous> (C:\Users\58\Desktop\sha256.js:12:26)
at emitTwo (events.js:126:13)
at Server.emit (events.js:214:7)
at parserOnIncoming (_http_server.js:602:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:117:23)
Turns out
var cipher = crypto.createCipher('aes-128-cbc','abcdefghijklmnop')
should not be reused. I put it into the server callback too and the problem is solved.
Check this out
Thats mainly because every time we run the encrypt or decrypt we should repeat crypto.createCipher('aes192', secrateKey);
and crypto.createDecipher('aes192', secrateKey);
let secrateKey = "secrateKey";
const crypto = require('crypto');
function encrypt(text) {
encryptalgo = crypto.createCipher('aes192', secrateKey);
let encrypted = encryptalgo.update(text, 'utf8', 'hex');
encrypted += encryptalgo.final('hex');
return encrypted;
}
function decrypt(encrypted) {
decryptalgo = crypto.createDecipher('aes192', secrateKey);
let decrypted = decryptalgo.update(encrypted, 'hex', 'utf8');
decrypted += decryptalgo.final('utf8');
return decrypted;
}
let encryptedText = encrypt("hello");
console.log(encryptedText);
let decryptedText = decrypt(encryptedText);
console.log(decryptedText);
Hope this helps!
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