Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def md5(fname):
- hash_md5 = hashlib.md5()
- with open(fname, "rb") as f:
- for chunk in iter(lambda: f.read(4096), b""):
- hash_md5.update(chunk)
- return hash_md5.hexdigest()
- def file_as_bytes(file):
- with file:
- return file.read()
- print hashlib.md5(file_as_bytes(open(full_path, 'rb'))).hexdigest()
- import hashlib
- [(fname, hashlib.md5(file_as_bytes(open(fname, 'rb'))).digest()) for fname in fnamelst]
- import hashlib
- [(fname, hashlib.sha256(file_as_bytes(open(fname, 'rb'))).digest()) for fname in fnamelst]
- import hashlib
- def hash_bytestr_iter(bytesiter, hasher, ashexstr=False):
- for block in bytesiter:
- hasher.update(block)
- return (hasher.hexdigest() if ashexstr else hasher.digest())
- def file_as_blockiter(afile, blocksize=65536):
- with afile:
- block = afile.read(blocksize)
- while len(block) > 0:
- yield block
- block = afile.read(blocksize)
- [(fname, hash_bytestr_iter(file_as_blockiter(open(fname, 'rb')), hashlib.md5()))
- for fname in fnamelst]
- [(fname, hash_bytestr_iter(file_as_blockiter(open(fname, 'rb')), hashlib.sha256()))
- for fname in fnamelst]
- $ ./sum_methods.py
- crc32_mmap(filename) 0.0241742134094
- crc32_read(filename) 0.0219960212708
- subprocess.check_output(['cksum', filename]) 0.0553209781647
- md5sum_mmap(filename) 0.0286180973053
- md5sum_read(filename) 0.0311000347137
- subprocess.check_output(['md5sum', filename]) 0.0332629680634
- $ time md5sum /tmp/test.data.300k
- d3fe3d5d4c2460b5daacc30c6efbc77f /tmp/test.data.300k
- real 0m0.043s
- user 0m0.032s
- sys 0m0.010s
- $ stat -c '%s' /tmp/test.data.300k
- 11890400
- import hashlib
- def md5sum(filename, blocksize=65536):
- hash = hashlib.md5()
- with open(filename, "rb") as f:
- for block in iter(lambda: f.read(blocksize), b""):
- hash.update(block)
- return hash.hexdigest()
- import zlib
- def adler32sum(filename, blocksize=65536):
- checksum = zlib.adler32("")
- with open(filename, "rb") as f:
- for block in iter(lambda: f.read(blocksize), b""):
- checksum = zlib.adler32(block, checksum)
- return checksum & 0xffffffff
Add Comment
Please, Sign In to add comment