2014-09-18 17 views
10

Çok fazla Dizge içeren bir dosyam var. Ben bireysel olarak bu dizeleri SHA1 karma değerlerini hesaplayıp ve Karşılıklı sorunu bir kez dizeleri SHA1 sonraki dize ekleniyor hesaplanır olan buPython'daki Dizelerin SHA1 bilgisini

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

depolamak çalışıyorum (bu ben almıyorum neden hissediyorum Doğru karma) ve onun karma hesaplanıyor. Bu yüzden doğru karmaları almıyorum. Python için yeniyim. Ne yapacağımı biliyorum ama nasıl yapacağımı bilmiyorum. Bunun için bana doğru yönde işaret edebilir misin?

cevap

13

Satır terminatör (dizesinin sonunda \n karakter) de dahil olmak üzere, çizgiler dönmek için gidiyor bir dosyanın üzerinde yineleme ediyoruz

ve kaldırılması gerekir:

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") 
+0

facepalm !!! -_- –