【发布时间】:2016-10-22 19:50:16
【问题描述】:
我正在尝试编写一个代码,该代码将从 3 个随机生成的数字 (x1,x2,x3) 中计算 1000 个 SHA256 哈希 理想情况下,它应该在从 1 到 1000 的循环中,我需要的只是将值存储在列表或数组中的某个位置,然后再分析它们。 当我运行下面的代码时,即使随机数每次都在变化, print(digest.finalize()) 总是返回相同的哈希
import random
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
while i<1000:
digest = hashes.Hash(hashes.SHA256(), backend=default_backend())
x1=random.randrange(2,256)
x2=random.randrange(2,256)
x3=random.randrange(2,256)
print("x1,x2,x3 are ",x1,x2,x3)
digest.update(b'x1')
digest.update(b'x2')
digest.update(b'x3')
print(digest.finalize())
del digest
#print(digest.finalize())
i=i+1
【问题讨论】:
-
您正在散列 x1、x2 和 x3 的值,而不是散列字节对象
b'x1x2x3'。 -
不确定我是否理解。我必须改变什么才能让它工作?谢谢
-
通过学习python的基础知识。在哪种编程语言中,变量
x可以通过字符串"x"访问? :-) -
通过学习python基础???请@sascha 为其他地方留下居高临下的语气。如果您想教育某人,请从您自己开始。您可能会发现此链接很有用cryptography.io/en/latest/hazmat/primitives/…
标签: python-3.x hash cryptography