如何在Python中获取“二进制”数组的sha256

2024-06-10 15:35:50 发布

您现在位置:Python中文网/ 问答频道 /正文

给定以下Python代码:

bits = [0]*256  # for simplicity (actually it's more like (0|1)^n)
binstr = ""  # make string containing all 'bits'
for el in bits:
    binstr += str(el)

如何获取位/binstr的sha256的二进制字符串。(表示如何实现二进制(sha256(位))。 我在使用以下东西时卡住了:

import hashlib
import binascii

hexstr = "{0:0>4X}".format(int(binstr, 2))
data = binascii.a2b_hex(hexstr)
print(data)
> b'\x00\x00'
output = hashlib.sha256(data).hexdigest()
print(output)
> 96a296d224f285c67bee93c30f8a309157f0daa35dc5b87e410b78630a09cfc7

也许你能帮我找出我的错误


Tags: 代码importforoutputdata二进制hexstrel
1条回答
网友
1楼 · 发布于 2024-06-10 15:35:50

可能有一个库函数来实现这一点,但您可以将十六进制字符串转换为int,然后将int转换为bin

bin(int(hashlib.sha256("whatever you want to hash").hexdigest(), 16))

相关问题 更多 >