腾讯云生成秘钥代码

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import base64
import hashlib
import hmac
import random
import string
import time
import sys
# 生成指定长度的随机字符串
def RandomConnid(length):
     return  ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(length))
# 生成接入物联云需要的各参数
def IotHmac(productID, devicename, devicePsk):
     # 1. 生成connid为一个随机字符串,方便后台定位问题
     connid   = RandomConnid(5)
     # 2. 生成过期时间,表示签名的过期时间,从纪元1970年1月1日 00:00:00 UTC 时间至今秒数的 UTF8 字符串
     expiry   = int(time.time()) + 60 * 60
     # 3. 生成MQTT的clientid部分, 格式为${productid}${devicename}
     clientid = "{}{}".format(productID, devicename)
     # 4. 生成mqtt的username部分, 格式为${clientid};${sdkappid};${connid};${expiry}
     username = "{};12010126;{};{}".format(clientid, connid, expiry)
     # 5. 对username进行签名,生成token
     token = hmac.new(devicePsk.decode("base64"), username, digestmod=hashlib.sha256).hexdigest()
     # 6. 根据物联云通信平台规则生成password字段
     password = "{};{}".format(token, "hmacsha256")
     return {
         "clientid" : clientid,
         "username" : username,
         "password" : password
     }
if __name__ == '__main__':
 print IotHmac("OJUY82FOJI", "LED", "eXoydgs5YQx4Xcxhud+rxQ==")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值