【发布时间】:2019-06-04 13:02:26
【问题描述】:
我正在尝试设计一种一次性密码算法。我想从用户那里获取一个字符串输入,然后将其重复散列 100 次,然后将每个字符串存储到一个数组中。我被困在需要反复散列字符串的部分。
我已经尝试过基础知识,我知道如何使用 hashlib 获取字符串值的哈希值。在下面的代码中,我尝试以这种方式应用它 10 次,但我觉得有一种更简单的方法确实有效。
import hashlib
hashStore= []
password= input("Password to hash converter: ")
hashedPassword= hashlib.md5(password.encode())
print("Your hash is: ", hashedPassword.hexdigest())
while i in range(1,10):
reHash= hashlib.md5(hashedPassword)
hashStore.append(rehash)
i= i+1
print("Rehashed ",reHash.hexdigest())
但是此代码不起作用。我希望它能够“重新散列”该值,并且每次都将其添加到数组中。
感谢您的任何帮助:)
【问题讨论】:
-
rehash和reHash是不同的变量。注意你的编码标准。您也永远不会启动循环(即i = 0)。这段代码应该在几个地方出错。您可能只想使用for循环而不是启动while循环:for _ in range(1, 10):
标签: python python-3.x cryptography md5 hashlib