如何使用python循环多次迭代哈希?

时间:2017-01-07 02:46:01

标签: python

我创建了一个python循环,它应该将摘要的输出传递回digest命令的msg部分,但是无论我运行循环多少次,我最终都会完全相同

from __future__ import print_function;
import hmac;
import hashlib;
import base64;

mydigest = base64.b64encode(hmac.new(b"salt", msg="mymessage", digestmod=hashlib.sha256).digest()).decode();

for x in range(0, 10000):
  mydigest = base64.b64encode(hmac.new(b"salt", msg="(mydigest)", digestmod=hashlib.sha256).digest()).decode();
  print (mydigest);

1 个答案:

答案 0 :(得分:2)

你可能想要

mydigest = base64.b64encode(hmac.new(b"salt", msg=mydigest, digestmod=hashlib.sha256).digest()).decode();

Python中的“普通”字符串中没有字符串插值(带插值的字符串 - 所谓的f字符串 - 最近出现在Python 3.6中),因此"(mydigest)"是一个固定的字符串,其中没有任何变量{ {1}}。