2017-01-07 10 views
0

しかし私は、私はまったく同じで終わるのです、バックダイジェストコマンドのMSG部分にダイジェストの出力を渡すべきであるPythonのループを作成しているにかかわらず、私はループの実行回数がないPythonループを使用して複数回にわたってハッシュを反復する方法は?

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); 

答えて

2

あなたはおそらく、Pythonで「普通」の文字列には文字列の補間はありません

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

たいので"(mydigest)"はその固定文字列である、(補間を含む文字列 - 最近のPython 3.6で登場 - いわゆるF-文字列は)変数mydigestには何もありません。

+0

いいね!ありがとうございました:) –

+0

@winnあなたの問題を解決する場合は、チェックマークをクリックして回答を「受け入れる」ことができます。 –

関連する問題