Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //encrypt/decrypt functions
- const crypto = require('crypto');
- var algorithm = 'aes-256-ctr';
- var key_phrase = 'a secret key';// 16 symbols should be 16 symbols
- function encrypt_cookie(text){
- key = new Buffer.alloc(32, key_phrase);
- iv = new Buffer.alloc(16, key_phrase);
- const cipher = crypto.createCipheriv(algorithm, key, iv);
- var encrypted = cipher.update(text, 'utf8', 'hex');
- encrypted += cipher.final('hex');
- return encrypted;
- }
- function decrypt_cookie(text){
- key = new Buffer.alloc(32, key_phrase);
- iv = new Buffer.alloc(16, key_phrase);
- const decipher = crypto.createDecipheriv(algorithm, key, iv);
- var dec = decipher.update(text, 'hex', 'utf8');
- dec += decipher.final('utf8');
- return dec;
- }
- // var encrypted = encrypt_cookie('Hello world!');
- // console.log(encrypted);
- // console.log(decrypt_cookie(encrypted));
- // get/set/delete cookie npm
- function get_cookie(req, str){
- console.log(req.headers.cookie);
- var result = req.headers.cookie.match(new RegExp(str+'=([^;]*)', 'i'));
- if(result != null){
- return decrypt_cookie(result[1]);
- }
- return result;
- }
- function set_cookie(res, cookie_name, cookie_value){
- res.cookie(cookie_name , encrypt_cookie(cookie_value) );
- }
- function dellete_cookie(res, cookie_name){
- res.clearCookie(cookie_name);
- }
- var app = express()
- // app.use(cookieParser())
- app.use(function(req, res, next){
- console.log(req.headers.cookie);
- // set cookie
- set_cookie(res, 'cookie1', 'value1');
- set_cookie(res, 'cookie2', 'value2');
- set_cookie(res, 'cookie3', 'value3');
- // remove cookies
- // dellete_cookie(res, 'cookie1');
- // dellete_cookie(res, 'cookie2');
- // dellete_cookie(res, 'cookie3');
- // set cookies
- var cookie1 = get_cookie(req, 'cookie1');
- var cookie2 = get_cookie(req, 'cookie2');
- var cookie3 = get_cookie(req, 'cookie3');
- console.log(cookie1);
- console.log(cookie2);
- console.log(cookie3);
- // next();
- })
Add Comment
Please, Sign In to add comment