Python 在while循环中散列散列
我是python新手,需要一些关于我在下面编写的程序的帮助。我想从一个文本字符串开始,该字符串转换为当前有效的哈希值 但我遇到的问题是对该散列进行散列,然后在while循环中自动递增到最后一个散列,即Python 在while循环中散列散列,python,python-3.x,hash,Python,Python 3.x,Hash,我是python新手,需要一些关于我在下面编写的程序的帮助。我想从一个文本字符串开始,该字符串转换为当前有效的哈希值 但我遇到的问题是对该散列进行散列,然后在while循环中自动递增到最后一个散列,即b2=0c9ae7b6896fc93039ab966ab966ab65a7,直到它停止在最后一个散列:0c9ae7b6896fc939ab966ab9aba9b65a7 任何关于我能为此做些什么的建议都将不胜感激。下面是我的代码 #!/usr/bin/python import hashlib
b2=0c9ae7b6896fc93039ab966ab966ab65a7
,直到它停止在最后一个散列:0c9ae7b6896fc939ab966ab9aba9b65a7
任何关于我能为此做些什么的建议都将不胜感激。下面是我的代码
#!/usr/bin/python
import hashlib
mystring = input('Hash it: ')
b = hashlib.md5(mystring.encode())
b2 = "0c9ae7b6896fc93039ab966aba9b65a7"
print(b.hexdigest())
while ( b!= b2 ):
print ((b.hexdigest()))
else:
print ("done")
这适用于while循环,但不会收敛,因为没有规则如何到达散列b2(根据添加到问题中的注释):
实际上,您必须调整while循环中比较的值。阅读有关while循环的更多信息:您的代码未运行,缩进已关闭。您好bastelflp-很抱歉,我包含了未运行的代码。上面的代码运行在Python 3中,但它只是在md5中打印输入的字符串。我试图让它在while循环中运行,直到它达到预期的值“b2”。您正在将散列与字符串进行比较。你在while循环中没有改变任何东西,所以这永远不会结束。那么我如何用编码术语散列输出散列?你想做什么?再把你的杂烩煎一遍?你想如何得到最终的散列b2?哇,谢谢Bastelflp,散列真的把我搞砸了,但是看看你的代码,现在它更有意义了。谢谢你的帮助:)如果有帮助,那就太好了。如果这回答了您的问题,您可以投票表决或“将其标记为已解决”。
#!/usr/bin/python
import hashlib
mystring = input('Hash it: ')
b1 = hashlib.md5(mystring.encode()).hexdigest()
b2 = "0c9ae7b6896fc93039ab966aba9b65a7"
print(b1)
while b1 != b2:
b1 = hashlib.md5(b1.encode()).hexdigest() # calculate next hash
print(b1)
print("done")