Cómo generar una firma para una cadena de texto con una clave usando el algoritmo hmac-sha1 en el shell
/**
* @brief Utilice el algoritmo HMAC-SHA1 para generar una firma_oauth
*
* @param $key Clave
* @param $str Cadena de origen
* @param $key Clave
* @param $str Cadena de origen
*
* @param $key Firma p>* @param $str cadena de origen p>
*
* @return valor de firma
*/
función getSignature($str, $key) { p>
$firma = "";
if (función_ existe('hash_hmac')){
$firma = 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,$blockize,chr(0x00));
$ipad = str_repeat(chr(0x36), $blockize);
$opad = str_repeat(chr( 0x5c), $blocksize);
$hmac = paquete (
'H*', $hashfunc(
($clave ^ $ opad) .pack (
'H*', $hashfunc(
($key ^ $ipad) .$str
)
)
)
);
$firma = base64_encode($hmac);
}
devolver $firma ;
}