2017-01-07 2 views
0

그러나 나는 내가 똑같은와 함께 종료하고, 다시 소화 명령의 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); 

답변

2

당신은 아마 더 문자열 보간 (- 소위 F-문자열 - 보간 문자열 최근 파이썬 3.6에 출연이) 파이썬에서 "일반"문자열에 없습니다

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

를 원하므로 "(mydigest)"는 고정 된 문자열입니다 변수 mydigest과 아무런 관련이 없습니다.

+0

좋아요! 고맙습니다 :) –

+0

@winn 문제가 해결되면 체크 표시를 클릭하여 대답을 수락 할 수 있습니다. –

관련 문제