PHP 8.2.30
Preview: index.js Size: 1.25 KB
/proc/thread-self/root/home/byroehnu/.trash/node_modules11/cookie-signature/index.js

/**
 * Module dependencies.
 */

var crypto = require('crypto');

/**
 * Sign the given `val` with `secret`.
 *
 * @param {String} val
 * @param {String|NodeJS.ArrayBufferView|crypto.KeyObject} secret
 * @return {String}
 * @api private
 */

exports.sign = function(val, secret){
  if ('string' !== typeof val) throw new TypeError("Cookie value must be provided as a string.");
  if (null == secret) throw new TypeError("Secret key must be provided.");
  return val + '.' + crypto
    .createHmac('sha256', secret)
    .update(val)
    .digest('base64')
    .replace(/\=+$/, '');
};

/**
 * Unsign and decode the given `val` with `secret`,
 * returning `false` if the signature is invalid.
 *
 * @param {String} val
 * @param {String|NodeJS.ArrayBufferView|crypto.KeyObject} secret
 * @return {String|Boolean}
 * @api private
 */

exports.unsign = function(val, secret){
  if ('string' !== typeof val) throw new TypeError("Signed cookie string must be provided.");
  if (null == secret) throw new TypeError("Secret key must be provided.");
  var str = val.slice(0, val.lastIndexOf('.'))
    , mac = exports.sign(str, secret);
  
  return sha1(mac) == sha1(val) ? str : false;
};

/**
 * Private
 */

function sha1(str){
  return crypto.createHash('sha1').update(str).digest('hex');
}

Directory Contents

Dirs: 0 × Files: 4

Name Size Perms Modified Actions
818 B lrw-r--r-- 2026-02-03 15:30:46
Edit Download
1.25 KB lrw-r--r-- 2026-02-03 15:30:44
Edit Download
491 B lrw-r--r-- 2026-02-03 15:30:46
Edit Download
1.46 KB lrw-r--r-- 2026-02-03 15:30:46
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).