簡體   English   中英

如何在 Python 中獲取“二進制”數組的 sha256

[英]How to get the sha256 of a 'binary' array in 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)

如何獲取 bits/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

也許你可以幫助我找出我的錯誤。

可能有一個庫 function 可以執行此操作,但您可以將十六進制字符串轉換為 int,然后將 int 轉換為 bin。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM