Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo generar una firma para una cadena de texto con una clave usando el algoritmo hmac-sha1 en el shell

Cómo generar una firma para una cadena de texto con una clave usando el algoritmo hmac-sha1 en el shell

Cómo utilizar el algoritmo hmac-sha1 para generar una firma para una cadena de texto con una clave 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

*

* @return valor de firma

*/

función getSignature($str, $key) {

$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 ;

}