如何在 python 3 中将十六进制输入给 SHA256?
How to give hexadecimal input to SHA256 in python 3?
我正在尝试获取十六进制值的 SHA256 输出,但只能提供字符串输入。
我使用的 Python 3 代码如下
from hashlib import sha256
hash = sha256(b'0x01')
hx=hash.hexdigest()
print('hx: ', hx)
我得到了什么
hx: b51c80e50d664f281fedd07ba902a21caadc0c7e0b491ece679497391e9f84cf
我期待的
hx: 4bf5122f344554c53bde2ebb8cd2b7e3d1600ad631c385a5d7cce23c7785459a
预期输出来自在线工具SHA256 Online,输入类型为十六进制。
使用bytes.fromhex()
将十六进制字符串转换为字节:
from hashlib import sha256
hash = sha256(bytes.fromhex('01'))
hx = hash.hexdigest()
print('hx: ', hx)
我正在尝试获取十六进制值的 SHA256 输出,但只能提供字符串输入。 我使用的 Python 3 代码如下
from hashlib import sha256
hash = sha256(b'0x01')
hx=hash.hexdigest()
print('hx: ', hx)
我得到了什么
hx: b51c80e50d664f281fedd07ba902a21caadc0c7e0b491ece679497391e9f84cf
我期待的
hx: 4bf5122f344554c53bde2ebb8cd2b7e3d1600ad631c385a5d7cce23c7785459a
预期输出来自在线工具SHA256 Online,输入类型为十六进制。
使用bytes.fromhex()
将十六进制字符串转换为字节:
from hashlib import sha256
hash = sha256(bytes.fromhex('01'))
hx = hash.hexdigest()
print('hx: ', hx)