136

sha1 か md5 かに関係なく、適切なハッシュを取得できるように、Python に EOF まで読み取らせたいと考えています。助けてください。これが私がこれまでに持っているものです:

import hashlib

inputFile = raw_input("Enter the name of the file:")
openedFile = open(inputFile)
readFile = openedFile.read()

md5Hash = hashlib.md5(readFile)
md5Hashed = md5Hash.hexdigest()

sha1Hash = hashlib.sha1(readFile)
sha1Hashed = sha1Hash.hexdigest()

print "File Name: %s" % inputFile
print "MD5: %r" % md5Hashed
print "SHA1: %r" % sha1Hashed
4

7 に答える 7

10

mmapこれは、オブジェクトをメモリにマップするために使用する Python 3、POSIX ソリューション (Windows ではありません!) です。

import hashlib
import mmap

def sha256sum(filename):
    h  = hashlib.sha256()
    with open(filename, 'rb') as f:
        with mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ) as mm:
            h.update(mm)
    return h.hexdigest()
于 2020-06-05T11:54:39.500 に答える