• Python提取MD5


    使用Python的hashlib模块提取MD5,网上参考,觉得这个还不错,可以作为模块直接使用。

    # -*- coding: utf-8 -*-  
      
    import hashlib  
    import sys  
    import os
    def md5hex(word):  
        """ MD5加密算法,返回32位小写16进制符号 """  
        if isinstance(word, unicode):  
            word = word.encode("utf-8")  
        elif not isinstance(word, str):  
            word = str(word)  
        m = hashlib.md5()  
        m.update(word)  
        return m.hexdigest() 
      
      
    def md5sum(fname):  
        """ 计算文件的MD5值 """  
        def read_chunks(fh):  
            fh.seek(0)  
            chunk = fh.read(8096)  
            while chunk:  
                yield chunk  
                chunk = fh.read(8096)  
            else: #最后要将游标放回文件开头  
                fh.seek(0)  
        m = hashlib.md5()  
        if isinstance(fname, basestring) and os.path.exists(fname):  
            with open(fname, "rb") as fh:  
                for chunk in read_chunks(fh):  
                    m.update(chunk)  
        #上传的文件缓存 或 已打开的文件流  
        elif fname.__class__.__name__ in ["StringIO", "StringO"] or isinstance(fname, file):  
            for chunk in read_chunks(fname):  
                m.update(chunk)  
        else:  
            return ""  
        return m.hexdigest()
    if __name__ == "__main__":
        print (md5hex(sys.argv[1]))
        print (md5sum(sys.argv[2]))
    

     Linux上验证:

     

  • 相关阅读:
    HDU 1348 Wall
    HDU 2202 最大三角形
    HDU 2215 Maple trees
    HDU 1147 Pick-up sticks
    HDU 1392 Surround the Trees
    风语时光
    HDU 1115 Lifting the Stone
    HDU 1086 You can Solve a Geometry Problem too
    HDU 2108 Shape of HDU
    HDU 3360 National Treasures
  • 原文地址:https://www.cnblogs.com/jjzd/p/7010801.html
Copyright © 2020-2023  润新知