import time from hashlib import sha1 import hmac def get_signal(time_stamp): b=b"sdffsdfs" a = hmac.new(b, digestmod=sha1) # HMAC key a.update(time_stamp) # timeStamp return a.hexdigest() x=time.time() x=b'x' print(get_signal(x)) # time.sleep(3) import chardet,random,time,hashlib sign='mima' hl = hashlib.md5() i=int(time.time()*1000)+random.randint(1,10) hl.update(sign.encode(encoding='utf-8')) sign=hl.hexdigest()+str(i) print(sign)
方法一:使用md5包
import md5def calMd5(signdata,signkey,joiner=""): signdata=signdata+joiner+""+signkey m=md5.new(signdata) sign = m.hexdigest() return sign
方法二:使用hashlib包
import hashlibdef calHashMd5(signdata,signkey,joiner=""): signdata=signdata+joiner+""+signkey m=hashlib.md5(signdata) sign = m.hexdigest() return sign
计算hmacsha1
hmac:密钥相关的哈希运算消息认证码,hmac运算利用哈希算法(可以是MD5或者SHA-1),以一个密钥和一个消息为输入,生成一个消息摘要作为输出。
作用:
(1)验证接受的授权数据和认证数据;(2)确认接受到的命令请求是已经授权的请求且传送过程没有被篡改import hmacimport base64def hmacSha1WithBase64(signdata,signkey): sign = hmac.new(signkey, signdata,sha1).digest() sign = base64.b64encode(sign) return sign