Guest User

Untitled

a guest
Jun 19th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. //encrypt/decrypt functions
  2. const crypto = require('crypto');
  3. var algorithm = 'aes-256-ctr';
  4. var key_phrase = 'a secret key';// 16 symbols should be 16 symbols
  5.  
  6. function encrypt_cookie(text){
  7. key = new Buffer.alloc(32, key_phrase);
  8. iv = new Buffer.alloc(16, key_phrase);
  9. const cipher = crypto.createCipheriv(algorithm, key, iv);
  10. var encrypted = cipher.update(text, 'utf8', 'hex');
  11. encrypted += cipher.final('hex');
  12. return encrypted;
  13. }
  14.  
  15. function decrypt_cookie(text){
  16. key = new Buffer.alloc(32, key_phrase);
  17. iv = new Buffer.alloc(16, key_phrase);
  18. const decipher = crypto.createDecipheriv(algorithm, key, iv);
  19. var dec = decipher.update(text, 'hex', 'utf8');
  20. dec += decipher.final('utf8');
  21. return dec;
  22. }
  23.  
  24. // var encrypted = encrypt_cookie('Hello world!');
  25. // console.log(encrypted);
  26. // console.log(decrypt_cookie(encrypted));
  27.  
  28. // get/set/delete cookie npm
  29. function get_cookie(req, str){
  30. console.log(req.headers.cookie);
  31. var result = req.headers.cookie.match(new RegExp(str+'=([^;]*)', 'i'));
  32. if(result != null){
  33. return decrypt_cookie(result[1]);
  34. }
  35. return result;
  36. }
  37. function set_cookie(res, cookie_name, cookie_value){
  38. res.cookie(cookie_name , encrypt_cookie(cookie_value) );
  39. }
  40. function dellete_cookie(res, cookie_name){
  41. res.clearCookie(cookie_name);
  42. }
  43.  
  44.  
  45. var app = express()
  46. // app.use(cookieParser())
  47. app.use(function(req, res, next){
  48.  
  49. console.log(req.headers.cookie);
  50.  
  51. // set cookie
  52. set_cookie(res, 'cookie1', 'value1');
  53. set_cookie(res, 'cookie2', 'value2');
  54. set_cookie(res, 'cookie3', 'value3');
  55.  
  56. // remove cookies
  57. // dellete_cookie(res, 'cookie1');
  58. // dellete_cookie(res, 'cookie2');
  59. // dellete_cookie(res, 'cookie3');
  60.  
  61. // set cookies
  62. var cookie1 = get_cookie(req, 'cookie1');
  63. var cookie2 = get_cookie(req, 'cookie2');
  64. var cookie3 = get_cookie(req, 'cookie3');
  65.  
  66. console.log(cookie1);
  67. console.log(cookie2);
  68. console.log(cookie3);
  69.  
  70. // next();
  71. })
Add Comment
Please, Sign In to add comment