zoukankan      html  css  js  c++  java
  • python遍历文件并且进行md5计算

    import os
    import sys
    
    dirPath = sys.argv[1]
    
    def usage():
        print "python" + sys.argv[0] + "dirname"
    
    class Encrypt(object):
        def __init__(self,dirName):
            self.dirName = dirName
    
        def getFileFromDir(self):
            dirPath = self.dirName
            allFiles = os.walk(dirPath)
            fileHandler = open('tmp.txt','wb')
    
            for pathName, dirList, fileList in allFiles:
                for fileName in fileList:
                    singleFileName = fileName
                    absFilePath = pathName + os.sep + singleFileName
                    fileHandler.write(absFilePath+'
    ')
    
        def md5Encrypt(self):
            import hashlib
    
            for fileName in file('tmp.txt', 'r').readlines():
                fileName = fileName.strip()
                md5Object = hashlib.md5()
                with open(fileName, 'rb') as f:
                    md5Object.update(f.read())
                    md5Hash = md5Object.hexdigest()
                    print fileName+','+md5Hash
    
    if __name__ == '__main__':
        if len(sys.argv) != 1:
            usage()
            
        en = Encrypt(dirName=dirPath)
        en.getFileFromDir()
        en.md5Encrypt()
    

      又从slqmap源码里面看到一个实现,还挺有意思的:

    def md5File(filename):
        """
        Calculates MD5 digest of a file
        Reference: http://stackoverflow.com/a/3431838
        """
    
        checkFile(filename)
    
        digest = hashlib.md5()
        with open(filename, "rb") as f:
            for chunk in iter(lambda: f.read(4096), ""):
                digest.update(chunk)
    
        return digest.hexdigest()
    

      

  • 相关阅读:
    python imageai 对象检测、对象识别
    flask跨域请求三行代码搞定
    图片压缩-KMeans
    电影天堂
    python 时间操作
    时间HTML
    3D滚动效果
    tensorflow基础
    studio显示Surface: getSlotFromBufferLocked: unknown buffer: 0xa2a58be0
    解决github访问慢和clone慢解决方案
  • 原文地址:https://www.cnblogs.com/websec/p/9355229.html
Copyright © 2011-2022 走看看