web-dev-qa-db-ja.com

python)の文字列のSHA1を計算します

たくさんの文字列を含むファイルがあります。これらの文字列の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を初めて使用します。私は何をすべきか知っていますが、それを行う方法がわかりません。これについて正しい方向に私を向けることができますか?

13
kidd0

ファイルを反復処理します。ファイルは、行末記号(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")
15
Thomas Orozco