为了账号安全,请及时绑定邮箱和手机立即绑定

如何C#使用HMAC-SHA1算法生成oauth?

如何C#使用HMAC-SHA1算法生成oauth?

撒科打诨 2019-04-03 10:07:23
如何C#使用HMAC-SHA1算法生成oauth
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

JQ写的

1234567891011121314151617181920212223242526272829303132333435/**   * @brief 使用HMAC-SHA1算法生成oauth_signature签名值   *   * @param $key  密钥   * @param $str  源串   *   * @return 签名值   */  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(                                  'H*', $hashfunc(                                          ($key ^ $ipad) . $str                                  )                          )                  )          );          $signature = base64_encode($hmac);      }         return $signature;  }


查看完整回答
反对 回复 2019-04-12
  • 2 回答
  • 0 关注
  • 1160 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信