Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在while循环中散列散列_Python_Python 3.x_Hash - Fatal编程技术网

Python 在while循环中散列散列

Python 在while循环中散列散列,python,python-3.x,hash,Python,Python 3.x,Hash,我是python新手,需要一些关于我在下面编写的程序的帮助。我想从一个文本字符串开始,该字符串转换为当前有效的哈希值 但我遇到的问题是对该散列进行散列,然后在while循环中自动递增到最后一个散列,即b2=0c9ae7b6896fc93039ab966ab966ab65a7,直到它停止在最后一个散列:0c9ae7b6896fc939ab966ab9aba9b65a7 任何关于我能为此做些什么的建议都将不胜感激。下面是我的代码 #!/usr/bin/python import hashlib

我是python新手,需要一些关于我在下面编写的程序的帮助。我想从一个文本字符串开始,该字符串转换为当前有效的哈希值

但我遇到的问题是对该散列进行散列,然后在while循环中自动递增到最后一个散列,即
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")