Python 如何创建哈希Sha-256,其中哈希的前3个字符为零?

Python 如何创建哈希Sha-256,其中哈希的前3个字符为零?,python,hash,Python,Hash,我想创建一个哈希Sha-256,其中哈希的前3个字符是零 我正在Python上编写这段代码: 导入hashlib hashsha=hashlib.sha256() n=输入(10) 更新(n.encode()) 打印(hashsha.hexdigest()) 输出是 2C624232CDD221771294DFBB310AC000A0DF6AC8B66B696D90EF06FDEFB64A3 但是我想要的是这样的散列 00024232CDD221771294DFBB310AC000A0DF6A

我想创建一个哈希Sha-256,其中哈希的前3个字符是零

我正在Python上编写这段代码:

导入hashlib
hashsha=hashlib.sha256()
n=输入(10)
更新(n.encode())
打印(hashsha.hexdigest())
输出是

2C624232CDD221771294DFBB310AC000A0DF6AC8B66B696D90EF06FDEFB64A3

但是我想要的是这样的散列

00024232CDD221771294DFBB310AC000A0DF6AC8B66B696D90EF06FDEFB64A3


我做了一些研究,但什么也没发现。

你基本上应该继续尝试。。。要找到散列冲突并不容易,即使是几个数字

这段代码将为您提供一些:

import hashlib

hashsha = hashlib.sha256()

for n in range(1000000):
    hashsha.update(str(n).encode())
    h = hashsha.hexdigest()
    if h.startswith("000"):
        print(f'String: "{n}" Hash: {h}')
输出:

String: "2629" Hash: 0007d4960f1c22f3e8ba3f7f4e927de97383ea3ca5bf3d86342e149f693a65c3
String: "4316" Hash: 000c5df2f4ee5da1eadafa896a5f2a92cdf01a712a95ae56776986e353bb6e2b
String: "6073" Hash: 00020de5ef9d424991c213955e1b21b63cf25740a6e1a9d7e14f76dcd6f12022
...
这里有一个数字:

hashlib.sha256(b'number_4283').hexdigest()
输出为:
000a16ff44e6501bb2c4f72e8fa51c5b0acbfb87bfa85b05e512a05b78726623
b'number_16948391'
产生带有六个零的
sha256
。这比我预想的要简单:
000000 AB2D8A384D72EE91A0792FD78377CCC2967B387F346A9FA070AD90E06
hashlib.sha256(b'number_4283').hexdigest()