从micropython中的字节码转换

从micropython中的字节码转换,python,raspberry-pi,micropython,raspberry-pi-pico,Python,Raspberry Pi,Micropython,Raspberry Pi Pico,我在pi-pico上用micropython中的uhashlib进行哈希运算。下面是一个例子: import sys import os import uhashlib import time time_now = "blergh" hash_test = uhashlib.sha256(time_now).digest() print(time_now) print(hash_test) 这将产生: blergh b'Y|\x84W\xa1\x1d\x86cb~\x

我在pi-pico上用micropython中的uhashlib进行哈希运算。下面是一个例子:

import sys
import os
import uhashlib
import time

time_now = "blergh"
hash_test = uhashlib.sha256(time_now).digest()

print(time_now)
print(hash_test)

这将产生:

blergh
b'Y|\x84W\xa1\x1d\x86cb~\x0bL\x1e\\\x92\xcd-\x93\x05\xddz\x0e\xe1\x9f\x9a\xc1H6\x93\xd8\x0c8'

…这显然不是非常有用。我已经尝试了很多方法,但我不知道如何从micropython中的字节码转换。有人有想法/方法吗?

您应该能够使用.hex方法将任何字节直接解码为十六进制

>>>十六进制 ‘626c657267’ 我没有uhashlib,但它与股票hashlib一起工作

>>>hashlib.sha256bblergh.digest.hex ‘597c8457a11d8663627e0b4c1e5c92cd2d9305dd7a0ee19f9ac1483693d80c38’ >>>hashlib.sha256bblergh.hexdigest ‘597c8457a11d8663627e0b4c1e5c92cd2d9305dd7a0ee19f9ac1483693d80c38’
您应该能够使用.hex方法将任何字节直接解码为十六进制

>>>十六进制 ‘626c657267’ 我没有uhashlib,但它与股票hashlib一起工作

>>>hashlib.sha256bblergh.digest.hex ‘597c8457a11d8663627e0b4c1e5c92cd2d9305dd7a0ee19f9ac1483693d80c38’ >>>hashlib.sha256bblergh.hexdigest ‘597c8457a11d8663627e0b4c1e5c92cd2d9305dd7a0ee19f9ac1483693d80c38’ 使用ubinascii.hexlify并跳过篮圈

ubinascii.hexlify返回字节。通过将字节解码为str,然后将该str转换为带base16的int,我们可以将值传递给hex。micropython中没有字节的十六进制属性

以下内容已经在运行micropython 1.14的Raspberry Pi Pico上进行了全面测试。我怀疑早期版本也可以工作,只要它们同时拥有这两个模块依赖项

进口ubinascii,uhashlib hs=uhashlib.sha256b'blergh' def HEXSHA: 返回hexintubinascii.hexlifysha.digest.decode,16 hx=hexdigesths 0x597c8457a11d8663627e0b4c1e5c92cd2d9305dd7a0ee19f9ac1483693d80c38 使用ubinascii.hexlify并跳过篮圈

ubinascii.hexlify返回字节。通过将字节解码为str,然后将该str转换为带base16的int,我们可以将值传递给hex。micropython中没有字节的十六进制属性

以下内容已经在运行micropython 1.14的Raspberry Pi Pico上进行了全面测试。我怀疑早期版本也可以工作,只要它们同时拥有这两个模块依赖项

进口ubinascii,uhashlib hs=uhashlib.sha256b'blergh' def HEXSHA: 返回hexintubinascii.hexlifysha.digest.decode,16 hx=hexdigesths 0x597c8457a11d8663627e0b4c1e5c92cd2d9305dd7a0ee19f9ac1483693d80c38
你的问题是什么?另外,您可能希望hexdigest是我将用于hashlib python的内容,但uhashlib micropython不支持它。这个问题正是你所理解的,不过,当我想要一个hexdigest时,我得到了字节码。我也尝试了ubinascii.hexlifyhash.digest,但没有骰子——我想知道这是否只是在micropython中被打破了?请注意,字节码在这里不是一个合适的术语。是的,它是由字节组成的,是的,你可以把它称为一个代码,但这个术语是用来指可以被某种解释语言执行的字节,而你这里的是纯数据。你的问题是什么?另外,您可能希望hexdigest是我将用于hashlib python的内容,但uhashlib micropython不支持它。这个问题正是你所理解的,不过,当我想要一个hexdigest时,我得到了字节码。我也尝试了ubinascii.hexlifyhash.digest,但没有骰子——我想知道这是否只是在micropython中被打破了?请注意,字节码在这里不是一个合适的术语。是的,它是由字节组成的,是的,你可以把它称为一个代码-但这个术语是用来指可以由某种解释语言执行的字节,而你这里的是纯数据。是的,这是我在标准Python中所做的,但它不在micropython/pi-pico上运行。是的,这是我在标准Python中所做的,但这并不是在micropython/pipico上运行的。谢谢是的,很好。谢谢