This is a trivial command line utility to print MD5 checksums.
I published it on the web as http://www.python.org/2.1/md5sum.py so I thought I might as well check it in. Works with Python 1.5.2 and later. Works like the Linux tool ``mdfsum file ...'' except it doesn't take any options or read stdin.
This commit is contained in:
parent
93438bf0a2
commit
9966e2c663
|
@ -0,0 +1,32 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
"""Python utility to print MD5 checksums of argument files.
|
||||
|
||||
Works with Python 1.5.2 and later.
|
||||
"""
|
||||
|
||||
import sys, md5
|
||||
|
||||
BLOCKSIZE = 1024*1024
|
||||
|
||||
def hexify(s):
|
||||
return ("%02x"*len(s)) % tuple(map(ord, s))
|
||||
|
||||
def main():
|
||||
args = sys.argv[1:]
|
||||
if not args:
|
||||
sys.stderr.write("usage: %s file ...\n" % sys.argv[0])
|
||||
sys.exit(2)
|
||||
for file in sys.argv[1:]:
|
||||
f = open(file, "rb")
|
||||
sum = md5.new()
|
||||
while 1:
|
||||
block = f.read(BLOCKSIZE)
|
||||
if not block:
|
||||
break
|
||||
sum.update(block)
|
||||
f.close()
|
||||
print hexify(sum.digest()), file
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue