忽略前导0的Python编码

帕拉姆帕拉

我正在python 3.5中编写代码,一旦给了pcap文件和密码,它就使用hashlib为每个数据包吐出MD5加密。我正在使用pyshark遍历pcap文件。当前,它吐出的值与pcap文件中数据包上的MD5加密不同。

我将其归因于此的原因之一是,在数据包的十六进制表示中,值以前导0表示。例如:协议编号显示为b'06'。但是我更新hashlib变量的值是b'6'。并且这两个值由于相同的原因而不同:

>> b'06'==b'6'
False

我编码整数的方式是:

(hex(int(value))[2:]).encode()

我正在执行此编码,因为否则将导致此错误:“ TypeError:在散列之前必须对Unicode对象进行编码”

我想知道我是否可以得到帮助,以找到一个忽略前导0的python编码库,或者是否有任何方法可以使内置的十六进制方法忽略前导0。

谢谢!

散列b'06'b'6'给出不同的结果,因为在这种情况下,“ 06”和“ 6”是不同的。

bPython中字符串前缀告诉Python解释器将字符串中的每个字符转换为一个字节。因此,b'06'将被转换为两个字节0x30 0x36,而b'6'将被转换为单个字节0x36正如散列b'a'b' a'(注意空格)会产生不同的结果,散列b'06'b'6'同样会产生不同的结果。


如果您不明白为什么会这样,我建议您在Python以及更广泛的范围内查找字节的工作方式-Python的字节处理一直有点违反直觉,因此不要担心它似乎令人困惑!同样重要的是要注意,Python 2和Python 3之间Python表示字节的方式已经改变,因此请务必检查发现的任何信息都在检查哪个版本的Python。您也可以在这里评论

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Flask-URL编码的前导斜杠导致404或405

来自分类Dev

如何忽略/删除前导零?

来自分类Dev

使用Elasticsearch忽略前导零

来自分类Dev

如何忽略/删除前导零?

来自分类Dev

Python-在文件编号中添加前导0

来自分类Dev

Python 中奇怪的前导字符 utf-8/utf-16 编码

来自分类Dev

禁止输入前导0

来自分类Dev

禁止输入前导0

来自分类Dev

NSNumberFormatter构造前导0

来自分类Dev

如何忽略内容编码

来自分类Dev

PHP邮政编码丢失前导零

来自分类Dev

Bash读取会忽略前导空格

来自分类Dev

防止使用IFS =忽略前导空格

来自分类Dev

防止使用IFS =忽略前导空格

来自分类Dev

我可以让bash忽略出现的前导`:`吗?

来自分类Dev

sed:全局替换时忽略前导空格

来自分类Dev

删除前导列值<= 0

来自分类Dev

用gsub添加前导0

来自分类Dev

在R中添加前导0

来自分类Dev

删除前导列值<= 0

来自分类Dev

删除前导0到小数

来自分类Dev

以 utf-8 编码的文本文件,Python 给出 UnicodeDecodeError,忽略不工作的错误

来自分类Dev

熊猫数据框搜索并修改邮政编码的前导零

来自分类Dev

文件检查功能将始终“忽略”前导斜线

来自分类Dev

排序时忽略可选的前导字符串

来自分类Dev

配置单元添加分区语句忽略前导零

来自分类Dev

foreach使用前导0的数字列表

来自分类Dev

中端功能中断前导0

来自分类Dev

Oracle-修剪和前导0