我创建了一个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);
答案 0 :(得分:2)
你可能想要
mydigest = base64.b64encode(hmac.new(b"salt", msg=mydigest, digestmod=hashlib.sha256).digest()).decode();
Python中的“普通”字符串中没有字符串插值(带插值的字符串 - 所谓的f字符串 - 最近出现在Python 3.6中),因此"(mydigest)"
是一个固定的字符串,其中没有任何变量{ {1}}。