专栏首页橙子探索测试Python实现HMACSHA1生成加密签名

Python实现HMACSHA1生成加密签名

按key升序,key不为sign,value不为空时,把key和value拼装成x=a&y=b格式,然后使用HmacSHA1算法生成签名。

import json,hashlib,hmac,base64
 
def sign(data):
    date_new=''
    for key,value in sorted(data.items()):
        if key!="sign" and value:
            date_new+= key + "=" +str(value)+"&"
    sk="wwwsss123"
    #生成签名
    hashing=hmac.new(bytes(sk,encoding='utf-8'),bytes(date_new.strip('&'),encoding='utf-8'),hashlib.sha1).hexdigest()
    print(date_new.strip('&'))
    return hashing
data={"name":"wangli","mobile":18200000000,"sn":"","sign":""}
print(sign(data))
 
 
 
 
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/test/test01.py
mobile=18200000000&name=wangli
b976c851b1419f52eedfd3853f4f4d1c90ed3b24
 
Process finished with exit code 0

本文分享自微信公众号 - 橙子探索测试(chengzitest),作者:王荔探索测试

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python数据驱动模块DDT

    Python数据驱动模块DDT,包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据)

    橙子探索测试
  • Appium+PythonUI自动化之webdriver的三种等待方式(强制等待、隐式等待、显示等待)

    在自动化测试脚本的运行过程中,webdriver操作浏览器的时候,对于元素的定位是有一定的超时时间,大致应该在1-3秒的样子,如果这个时间内仍然定位不到元素,就...

    橙子探索测试
  • 进程与线程

      进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O...

    橙子探索测试
  • 解构赋值,你不能不懂!

    相信大家不难从上述的几段代码案例总结出来解构赋值的规律,我总结到如下几点: 1、解构主体为数组或者对象。 2、解构源必须具备Iterator接口或者经过转换之后...

    思梦php
  • 解构赋值,你不能不懂!

    思梦php
  • JavaScript中Array数组的几种方法

    涉及到数组的问题,以前基本上我们都是采用for循环的方法来进行遍历,后来在ES5中新增了几种方法来方便我们遍历。这几种方法分别为:forEach(js v1.6...

    无邪Z
  • [virt][concept]虚拟化技术概论--KVM,QEMU,Libvirt

    前言: 以作者的经验来看,虚拟化的跨度比较大,很多概念比较难以理解,本来以为“硬件行为,就是这样的”好多概念,都变成虚拟的了。 作者对kernel略懂一二,结合...

    皮振伟
  • ThreadLocal内存泄漏真因探究

    2、ThreadLocal的实现:每个Thread维护一个ThreadLocalMap映射表,这个映射表的key是ThreadLocal实例本身,value是真...

    java乐园
  • Swift 字符串中的第一个唯一字符 - LeetCode

    1、将字符串转为数组 2、循环字符串数组,将字符作为键,索引作为值存入字典 3、存入字典时先判断是否已经存在,已存在则将值置位-1 4、循环字典,拿到所有...

    韦弦zhy
  • ES6(三):变量的解构赋值

    解构赋值语法是一个Javascript表达式,这使得可以将值从数组或属性从对象提取到不同的变量中,文中主要讲数组的解构赋值、对象的解构赋值、字符串的解构赋值、数...

    从入门到进错门

扫码关注云+社区

领取腾讯云代金券