генерировать хеш файла в python - PullRequest
1 голос
/ 12 февраля 2011

Привет, этот код генерирует хэш sha1, но хэш отличается от других инструментов, генерирующих хэш sha1 из этого файла:

import os
import hashlib

fileList = os.listdir("D:\\a\\")
for i in fileList:
d=(hashlib.sha1(file("D:\\a\\"+i, 'r').read()).hexdigest())
# os.rename(i,d)
print(d)

в MD5, поэтому у меня возникла эта проблема !!Зачем?


edit: 'rb' решит мою проблему

Ответы [ 2 ]

8 голосов
/ 12 февраля 2011

Попробуйте использовать 'rb', а также попробуйте использовать метод md5 - в настоящее время вы используете SHA1 - это другой алгоритм, и я полагаю из вашего объяснения, что другие инструменты используют md5.

1 голос
/ 22 марта 2013
import os
import hashlib

fileList = os.walk("c:\\temp")
for tuple in fileList:
    for item in tuple[2]:
        d = hashlib.md5(file(tuple[0] + "\\" + item, 'r').read()).hexdigest()
        print [item, d]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...