sha를 사용하여 문자열을 해쉬 할 수있는 함수를 만들고 싶었습니다. 이 코드를 컴파일 할 때Hexdigest from passing parameter
def hashNow(number,string):
for i in range (number):
hashH = int(hashlib.sha1(string.hexdigest(),16)
print hashH #debug purpose
indexing = hashH % len(arrays)
arrays[indexing] = 1
, 그것은이 print hashH
에서 SyntaxError: invalid syntax
가리키는 인쇄 : 다음은 내 코드입니다. 내 경험에 비추어 볼 때 잘못된 구문 오류는 대개 이전 줄의 오류 반송 자입니다.
내 질문 : 나는 hexdigest를 잘못 구현하고 있습니까? 왜 string.hexdigest()
이 문법 오류를 일으키는가?
'hashH = ..' 행에')'가 없습니다. –
나는 당신이 여기서 무엇을하려고하는지 잘 모르겠습니다. 'str' 객체는'hexdigest' 메소드를 가지고 있지 않습니다. 16 진수 다이제스트 (정수로 다시 해독)를 원하지 않는다면'.digest()'메소드를 사용하고 바이트를 직접 가져 오는 것이 어떨까요? –
''hexlib.sha1()'의 결과로 ['hexdigest()'] (https://docs.python.org/2/library/hashlib.html#hashlib.hash.hexdigest)를 호출해야합니다 : 'hashlib.sha1 (문자열) .hexdigest()'. – xZise