mirror of
				https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
				synced 2025-11-04 00:55:22 +01:00 
			
		
		
		
	v1.0 du site web
This commit is contained in:
		
							
								
								
									
										51
									
								
								app/node_modules/cookie-signature/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								app/node_modules/cookie-signature/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Module dependencies.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
var crypto = require('crypto');
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Sign the given `val` with `secret`.
 | 
			
		||||
 *
 | 
			
		||||
 * @param {String} val
 | 
			
		||||
 * @param {String} 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 ('string' != typeof secret) throw new TypeError("Secret string 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} 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 ('string' != typeof secret) throw new TypeError("Secret string 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');
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user