view bin/ed2k.py @ 309:592605e4d3bb

Use SI whenever possible. Use 1KiB instead otherwise.
author Edho Arief <edho@myconan.net>
date Wed, 29 Feb 2012 17:48:05 +0000
parents 5bafb912837e
children
line wrap: on
line source

#!/usr/bin/env python

import os, sys
from Crypto.Hash import MD4

def ed2k(filename):
  block = 9500*1024
  hash = ""
  file = open(filename, "rb")
  fileblock = file.read(block)
  while fileblock:
    hash += MD4.new(fileblock).digest()
    fileblock = file.read(block)
  file.close()
  return MD4.new(hash).hexdigest()

if __name__ == "__main__":
  for file in sys.argv[1:]:
    print "%s %s" %(ed2k(file), file)