当前位置: 首页 > news >正文

上海市网站设计公司教育网站建设情况报告

上海市网站设计公司,教育网站建设情况报告,义乌建设银行交罚款网站,杭州优化排名哪家好目录 1.数据的不同表现形式签名值不一样#xff1f; 2.Binascii模块简介 3.问题定位 4.问题总结 1.数据的不同表现形式签名值不一样#xff1f; Happy Muscle试运行了一段时间#xff0c;组内同事再一次提出了新的需求#xff1a;需要对bin文件签名。 PS#xff1a;服…目录 1.数据的不同表现形式签名值不一样 2.Binascii模块简介 3.问题定位 4.问题总结 1.数据的不同表现形式签名值不一样 Happy Muscle试运行了一段时间组内同事再一次提出了新的需求需要对bin文件签名。 PS服了你把bin导成asc文件再签名不行吗 不过内部客户也是客户就是上帝还是抓点紧继续完善工具。 这个思路还是很明确拖转bin文件到输入框显示路径供用户检查后台根据路径识别bin文件解析成算法所需格式最终完成签名。 前几步还是非常简单问题出在解析bin文件转为算法所需格式上现象如下 将bin文件解析为算法所需格式并打印出来完全木有问题呀(上图红框)为啥这个签名值不对头呢 Openssl 签名值 HappyMuscle对原始数据签名 HappyMuscle解析bin后的签名 那问题就出在了对原始数据和bin文件的解析上来看代码 if self.rb_rsa_genkey_2.isChecked() :filepath self.te_rsa_plaintext.toPlainText()[8:]binfile open(filepath,rb).read()asymobjcal.rsa_pt binascii.b2a_hex(binfile) else:asymobjcal.rsa_pt binascii.unhexlify(self.te_rsa_plaintext.toPlainText().strip().replace(\n,).replace(0x, ).replace(,,).replace( ,)) 2.Binascii模块简介 这里用到了binascii模块该模块包含许多在二进制和各种ascii编码的二进制表示之间进行转换的方法常见方法总结如下 binascii.b2a_hex(data[, sep[, bytes_per_sep1]]) 将二进制数据转为十六进制的表现形式如下 binascii.b2a_hex(b\xb9\x01\xef) bb901ef sep可以是单个符合或者字节对象如果配置了就会在步长(bytes_per_sep)后加入符号如下 binascii.hexlify(b\xb9\x01\xef, -) bb9-01-efbinascii.b2a_hex(b\xb9\x01\xef, b_, 2) bb9_01efbinascii.b2a_hex(b\xb9\x01\xef, b , -2) bb901 ef 方法hexlify(data[, sep[, bytes_per_sep1]])有同样的效果。 binascii.a2b_hex(hexstr) 很明显这个就是返回十六进制字符串hexstr表示的二进制数据就是b2a_hex()的逆向返回的是data。 binascii.crc32(data[, value]) 用于计算data的CRC-32的校验和如下 print(binascii.crc32(bhello world)) # Or, in two pieces: crc binascii.crc32(bhello) crc binascii.crc32(b world, crc) print(crc32 {:#010x}.format(crc)) 在给文件或者数据签名时 所需要的数据类型为bytes 那么问题就很好定位了。 3.问题定位 在代码实现里如果是以bin的形式加载进来我是先读取文件再转为调用b2a_hex打印出来b0008022079.....类型为byte然后再去签名 但在这个时候我们来查看rsa_pt的类型 字节长度居然来到了4880再回过头看文档这句话非常关键 Return the hexadecimal representation of the binary data. Every byte of data is converted into the corresponding 2-digit hex representation. The returned bytes object is therefore twice as long as the length of data. 转为十六进制表现形式长度为原来的两倍 回过头来既然我都可以调用b2a_hex()那说明现在binfile类型本身就是byte我们debug来看下 这个字节长度就是没问题的直接将这个文件读取在送入签名就可以了解决如下 asymobjcal.rsa_pt open(filepath,rb).read() 最终完成签名 4.问题总结 这个问题归根结底还是在于自己对于模块各种方法的返回类型不够了解在使用python时基本都是边写边查也没有仔细看官方文档。 通过解决这个小问题Happy Muscle功能进一步增强就酱
http://www.w-s-a.com/news/67937/

相关文章:

  • 买拆车件上什么网站谁有那种手机网站
  • 一家专做有机蔬菜的网站万户网络是干嘛的
  • 十堰百度网站建设八宝山做网站公司
  • 地区电商网站系统建筑施工图纸培训班
  • 网站外包维护一年多少钱医院网站 功能
  • 电子商务市场的发展前景seo推广平台服务
  • 乐清网页设计公司哪家好seo推广任务小结
  • 360建筑网是什么pc优化工具
  • 越秀免费网站建设风景区网站建设项目建设可行性
  • 网站建站公司一站式服务学校网站开发招标
  • asp.net mvc 5 网站开发之美电商网站 流程图
  • 室内设计素材网站推荐郑州专业做淘宝网站建设
  • 新建的网站怎么做seo优化模板规格尺寸及价格
  • 平湖网站设计做电子元器件销售什么网站好
  • 可视化网站模板我想建个网站网站怎么建域名
  • 达州网站建设qinsanw南京市建设发展集团有限公司网站
  • django 网站开发实例公司排行榜
  • 韩国做美食网站阳江网站建设 公司价格
  • 网站开发哪里接业务长春高端模板建站
  • 深圳网站制作公司方案dw一个完整网页的代码
  • asp手机网站源码下载做seo推广网站
  • 网站优化建议怎么写网站维护主要有哪些内容和方法
  • 建设网站需要钱吗网络推广加盟
  • 高清素材图片的网站泰安网签备案查询
  • 自助网站建设怎么建设房地产的最新政策
  • 企业网站 生成html网站侵权怎么做公证或证据保存
  • php 手机网站cms系统购物网站制作流程
  • 网络公司网站开发河北省城乡住房和建设厅网站
  • 做网站配置wordpress 中文api
  • 怎样把网站做的好看县蒙文网站建设汇报