Current location - Quotes Website - Personality signature - How to write hmac-sha1 algorithm using asp.net
How to write hmac-sha1 algorithm using asp.net

Written in JQ/**? *?@brief?Use HMAC-SHA1 algorithm to generate oauth_signature signature value? *? *?@param?$key?Key? *?@param?$str ?Source string? *? *?@return?Signature value? */?

function?getSignature($str,?$key)?{?

$signature?=? "";?

if?(function_exists('hash_hmac'))?{?

$signature?=?base64_encode(hash_hmac("sha1",?$str,?$ key,?true));?

}?else?{?

$blocksize?=?64;?

$hashfunc?=?'sha1 ';?

if?(strlen($key)?>?$blocksize)?{?

$key?=?pack('H*',?$hashfunc( $key));?

}?

$key?=?str_pad($key,?$blocksize,?chr(0x00));?

$ipad?=?str_repeat(chr(0x36),?$blocksize);?

$opad?=?str_repeat(chr(0x5c),?$blocksize);?

$hmac?=?pack(?

'H*',?$hashfunc(?

($key?^?$opad)?.?pack(?

p>

'H*',?$hashfunc(?

($key?^?$ipad)?.?$str?

)?

)?

)?

);?

$signature?=?base64_encode($hmac);?

}?

return?$signature;?

}