Вычислить SHA1 строк в python
У меня есть файл, который содержит много строк. Я пытаюсь вычислить хэши SHA1 этих строк по отдельности и сохранить их
import hashlib
inp = open("inp.txt" , "r")
outputhash = open("outputhashes.txt", "w")
for eachpwd in inp:
sha_1 = hashlib.sha1()
sha_1.update(eachpwd)
outputhash.write(sha_1.hexdigest())
outputhash.write("n")
проблема, с которой я сталкиваюсь, - это как только строки SHA1 вычисляются, следующая строка добавляется(я чувствую, что именно поэтому я не получаю правильные хэши), и ее хэш вычисляется. Поэтому я не получаю правильные хеши. Я новичок в Python. Я знаю, что делать, но не знаю как это сделать. Ты можешь указать мне верное направление? заняться этим?
1 ответов
вы перебираете файл, который собирается вернуть строки, включая Терминатор строки (a \n
символ в конце строки)
вы должны удалить его:
import hashlib
inp = open("inp.txt" , "r")
outputhash = open("outputhashes.txt", "w")
for line in inp: # Change this
eachpwd = line.strip() # Change this
# Add this to understand the problem:
print repr(line)
sha_1 = hashlib.sha1()
sha_1.update(eachpwd)
outputhash.write(sha_1.hexdigest())
outputhash.write("\n")