From 9966e2c6631143445d4faa34fb245524fe95b4b7 Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Fri, 22 Jun 2001 16:05:48 +0000
Subject: [PATCH] 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.
---
 Tools/scripts/md5sum.py | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 Tools/scripts/md5sum.py

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