如何正确的使用HMAC-SHA1签名

这篇文章将为大家详细讲解有关如何正确的使用HMAC-SHA1签名,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

加密算法:
使用HMAC-SHA1签名方法

复制代码 代码如下:

    /**
     * @brief 使用HMAC-SHA1算法生成oauth_signature签名值
     *
     * @param $key  密钥
     * @param $str  源串
     *
     * @return 签名值
     */
    function getSignature$str, $key) {
        $signature = "";
        if function_exists'hash_hmac')) {
            $signature = base64_encodehash_hmac"sha1", $str, $key, true));
        } else {
            $blocksize = 64;
            $hashfunc = 'sha1';
            if strlen$key) > $blocksize) {
                $key = pack'H*', $hashfunc$key));
            }
            $key = str_pad$key, $blocksize, chr0x00));
            $ipad = str_repeatchr0x36), $blocksize);
            $opad = str_repeatchr0x5c), $blocksize);
            $hmac = pack
                    'H*', $hashfunc
                            $key ^ $opad) . pack
                                    'H*', $hashfunc
                                            $key ^ $ipad) . $str
                                    )
                            )
                    )
            );
            $signature = base64_encode$hmac);
        }
        return $signature;
    }

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注