All pastes #507861 Raw Edit

Untitled

public python v1 · immutable
·published 2007-05-24 19:42 UTC
rendered paste body
# The3l33tOneimport sysimport md5from optparse import OptionParserdef getOptionsAndArgs():    parser = OptionParser("%prog [options] ")    parser.add_option('-d', '--dict',                      action="store",                      dest="pathToWordList",                      default="/usr/share/dict/words",                      help="Path to word list")    parser.add_option('-v', '--verbose',                      action="store_true",                      dest="verbose",                      default=False,                      help="Show words as they are searched")    options, args = parser.parse_args()    if not args:        parser.print_help()        sys.exit(1)    return options, argsdef searchForCollisions(targetHash, pathToWordList, verbose=False):    for word in open(pathToWordList, "r").readlines():        word = word.strip()        hash2Test = md5.md5(word).hexdigest()        if verbose:            print "Searching...", word, hash2Test        if hash2Test == targetHash:            print "Collision Detected: The word is ", word            return True    return Falseif __name__ == "__main__":    options, args = getOptionsAndArgs()    if not searchForCollisions(targetHash=args[0],                               pathToWordList=options.pathToWordList,                               verbose=options.verbose):        print "No Collision Detected"    print "Done."