This is a trivial command line utility to print MD5 checksums.
authorGuido van Rossum <guido@python.org>
Fri, 22 Jun 2001 16:05:48 +0000 (16:05 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 22 Jun 2001 16:05:48 +0000 (16:05 +0000)
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.

Tools/scripts/md5sum.py [new file with mode: 0644]

diff --git a/Tools/scripts/md5sum.py b/Tools/scripts/md5sum.py
new file mode 100644 (file)
index 0000000..ac2eac0
--- /dev/null
@@ -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()