md5签名 python_使用MD5 has作为sha256的密钥的API签名

也许你应该用暴力来强迫API文档?在>>> secret1 = 'qwer-qewr-qwer-qwer'

>>> secret2 = 'qwer-qwer-qwer-qwer'

>>> message_template = 'key=asdf-asdf-asdf-asdf&nonce={}&coin=btc&id=3'

>>> target = '66b2935f3ba82a4a17074d439adab1043a63df4a177af68fe76a3f4f350ef55d'

>>> keys = [hashlib.md5(secret1).hexdigest(), hashlib.md5(secret1).digest(), hashlib.md5(secret2).hexdigest(), hashlib.md5(secret2).digest()]

>>>

>>> for i in range(1505000000, 1506000000):

... msg = message_template.format(i)

... for key in keys:

... if hmac.new(key, msg, hashlib.sha256).hexdigest() == target:

... print 'FOUND hmac', key, msg

... if hashlib.sha256(key + msg).hexdigest() == target:

... print 'FOUND sha256', key, msg

...

FOUND hmac fecfe400baa3ae47fe8c42f9c087ec90 key=asdf-asdf-asdf-asdf&nonce=1505209413&coin=btc&id=3

对应于:

^{pr2}$

因此,以下方法应该有效:>>> hmac.new(hashlib.md5('qwer-qewr-qwer-qwer').hexdigest(), 'key=asdf-asdf-asdf-asdf&nonce=1505209413&coin=btc&id=3', hashlib.sha256).hexdigest()

'66b2935f3ba82a4a17074d439adab1043a63df4a177af68fe76a3f4f350ef55d'

看起来您做的事情是正确的,但是它们的nonce发生了变化,qwer-qewr-qwer-qwer私钥是正确的。在

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值