python hmac sha1 php hash_hmac,在python中实现HMAC-SHA1

我正在尝试使用网站的OAuth,这要求签名方法仅为“HMAC-SHA1”.

我想知道如何在Python中实现它?

解决方法:

Pseudocodish:

def sign_request():

from hashlib import sha1

import hmac

# key = b"CONSUMER_SECRET&" #If you dont have a token yet

key = b"CONSUMER_SECRET&TOKEN_SECRET"

# The Base String as specified here:

raw = b"BASE_STRING" # as specified by OAuth

hashed = hmac.new(key, raw, sha1)

# The signature

return hashed.digest().encode("base64").rstrip('\n')

以下输入用于生成签名基本字符串:

> HTTP方法(例如GET)

>路径(例如http://photos.example.net/photos)

>参数,按字母顺序排列,例如(换行符为可读性):

file=vacation.jpg

&oauth_consumer_key=dpf43f3p2l4k3l03

&oauth_nonce=kllo9940pd9333jh

&oauth_signature_method=HMAC-SHA1

&oauth_timestamp=1191242096

&oauth_token=nnch734d00sl2jdk

&oauth_version=1.0

&size=original

连接和URL编码每个部分,最终结果如下:

GET和放大器; HTTP://photos.example.net/photos\u0026amp;文件= vacation.jpg&

oauth_consumer_key = dpf43f3p2l4k3l03&oauth_nonce = kllo9940pd9333jh&

oauth_signature_method = HMAC-SHA1&oauth_timestamp = 1191242096&

组oauth_token = nnch734d00sl2jdk&oauth_version = 1.0&大小=原

标签:hmac,python,oauth,sha1

来源: https://codeday.me/bug/20190918/1810639.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值