加密算法 使用HMACSHA签名方法 复制代码 代码如下: /** * @brief 使用HMACSHA算法生成oauth_signature签名值 * * @param $key 密钥 * @param $str 源串 * * @return 签名值 */ function getSignature($str $key) { $signature = ""; if (function_exists(hash_hmac)) { $signature = base_encode(hash_hmac("sha" $str $key true)); } else { $blocksize = ; $hashfunc = sha; if (strlen($key) > $blocksize) { $key = pack(H* $hashfunc($key)); } $key = str_pad($key $blocksize chr(x)); $ipad = str_repeat(chr(x) $blocksize); $opad = str_repeat(chr(xc) $blocksize); $hmac = pack( H* $hashfunc( ($key ^ $opad) pack( H* $hashfunc( ($key ^ $ipad) $str ) ) ) ); $signature = base_encode($hmac); } return $signature; } |