33 lines
679 B
Python
33 lines
679 B
Python
|
#! /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()
|