工作时需要对一个签名数据进行验签名, 数据结构是 base64(hash256(key, 第二部分base64数据编码))+第二部分base64数据编码。第一部分就是签名,第二部分是data的base64

将第一部分base64解码后得到signature

然后hash256(key, 第二部分base64数据编码)得到hash_data
然后比对signature和hash_data发现不对

原因:
        signature = base64.b64decode()返回的是二进制字符串
        hash_data = hmac.new(self.app_secret.encode('utf8'), second_part.encode('utf8'), hashlib.sha256).hexdigest()返回的是十六进制的字符串
所以需要返回的编码作统一。

这里将signature转十六进制的字符串,问题就解决了 
signature = binascii.hexlify(signature)

用到了binascii模块, binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法

base64 hash256 编码不一致问题相关推荐

  1. mysql编码不对_MySQL编码不一致导致乱码问题总结

    使用MySQL常常会出现乱码问题,一般情况下都是因为编码不一致造成,以下提供了MySQL数据编码相关的一些信息,希望会有所帮助. 一.MySQL的编码机制: 1.数据库级别的编码:数据库服务器上允许建 ...

  2. php base64解码,PHP Base64 中英文编码 JavaScript 解码

    最新PHP Base64 中英文编码 JavaScript 解码 以下是三零网为大家整理的最新PHP Base64 中英文编码 JavaScript 解码的文章,希望大家能够喜欢! function ...

  3. Base62x比Base64的编码速度更快吗?

    现在几乎所有企事业单位.政府机构.军工系统等的IT生产系统都会用到Base64编码,从RSA安全密钥到管理信息系统登录入口回跳,目前越来越多的IT系统研发者开始使用 Base62x 替换 Base64 ...

  4. 编码不一致问题-Illegal mix of collations

    在解决bug时候碰到一个Illegal mix of collations问题,这个因为编码不一致到导致的错误.错误发生率较为高.经常发生在时间的比较上面.较为常见的一劳永逸的办法,是更改数据库的编码 ...

  5. 传真故障排除示例--编码不一致导致传真失败

    原因: 通话的首选编码与设备传真模式默认首选编码不一致导致传真失败 故障现象:发送传真正常,无法接受传真 设备封包提示信息: 服务端->设备:  服务端要求媒体的首选编码为  g711u 设备端 ...

  6. htmlparser解析网站时服务器返回的文件编码和页面编码不一致问题

    1.用htmlparser解析http://gz.fang.com/抛出如下异常: Exception in thread "main" org.htmlparser.util.E ...

  7. Base64的编码规则和C#实现

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一: Base64的编码规则     Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.     它将需要编码 ...

  8. Java中使用Base64进行编码解码的工具类-将验证码图片使用Base64编码并返回给前端

    场景 前端使用Vue,验证码图片的src属性来自于后台SpringBoot接口. 后台验证码接口生成验证码图片并将其使用Base64进行编码. 前端就可以直接使用 data:image/png;bas ...

  9. php代码在线base64解码,Base64在线编码解码实现代码 演示与下载

    在线演示地址: gb2312版本 http://tools.jb51.net/tools/base64_decode-gb2312.php utf8版本 http://tools.jb51.net/t ...

最新文章

  1. jsonSuggest插件如何在使用前激活
  2. Linux namespace概述
  3. 在asp.net中使用线程
  4. 带你认识数据库视图对象,下次不要再认成“表”了
  5. Swift iOS : 代码分析DrawController
  6. 201700071045.md
  7. java源码依赖分析_Spring项目运行依赖spring-contex解析
  8. 字符编码【utf8,unicode,ANSI,ascii】
  9. hdfs基本操作命令(完整)
  10. erp系统在会计岗位中起到哪些作用?
  11. Python数据字典处理Excel,并统计总数,画出饼图
  12. php怎么实现拼图功能,照片拼图效果怎么做 将一张照片制作成拼图的效果
  13. 词汇导入词根词缀字典
  14. 网络的性能指标:带宽和延迟
  15. AIR开发ios游戏总结
  16. Linux环境Hadoop的下载安装
  17. Debian11安装搜狗输入法
  18. DCMTK+VS2012编译简明教程
  19. 分享96个PHP源码,总有一款适合您
  20. 左右手桌面股票盯盘软件

热门文章

  1. MySql Order By 多个字段 排序规则
  2. Arduino通过RXTX联通JAVA实现数字温度计案例
  3. java.io.IOException: Expected at least 2 bytes
  4. 中缀向后缀转换表达式
  5. C++连接SQL的简单例子(win 和 linux)
  6. static变量有什么作用
  7. 计算机科学研究算法的局限性,CNCC2018 分论坛(6) | 研究经典计算机算法已经过时了吗?...
  8. Python实现猜词游戏 Hangman Game(不带提示和带提示版本)
  9. Innodb存储引擎-idb文件格式解析
  10. 双目立体匹配流程详解