python文件的md5加密方法

yipeiwu_com6年前Python基础

本文实例讲述了python文件的md5加密方法。分享给大家供大家参考,具体如下:

简单模式:

from hashlib import md5
def md5_file(name):
  m = md5()
  a_file = open(name, 'rb') #需要使用二进制格式读取文件内容
  m.update(a_file.read())
  a_file.close()
  return m.hexdigest()
if __main__ == '__init__':
  print md5_file('d:/test.txt')

大文件速度更快一点的方式

#!/usr/bin/python
#encoding=utf-8
import io
import sys
import hashlib
import string
def printUsage():
  print ('''''Usage: [python] pymd5sum.py <filename>''')
def main():
  if(sys.argv.__len__()==2):
    #print(sys.argv[1])
    m = hashlib.md5()
    file = io.FileIO(sys.argv[1],'r')
    bytes = file.read(1024)
    while(bytes != b''):
      m.update(bytes)
      bytes = file.read(1024)
    file.close()
    #md5value = ""
    md5value = m.hexdigest()
    print(md5value+"\t"+sys.argv[1])
    #dest = io.FileIO(sys.argv[1]+".CHECKSUM.md5",'w')
    #dest.write(md5value)
    #dest.close()
  else:
    printUsage()
main()

希望本文所述对大家Python程序设计有所帮助。

相关文章

修改Python的pyxmpp2中的主循环使其提高性能

引子 之前clubot使用的pyxmpp2的默认mainloop也就是一个poll的主循环,但是clubot上线后资源占用非常厉害,使用strace跟踪发现clubot在不停的poll,...

Python3.遍历某文件夹提取特定文件名的实例

批量处理文件时,常需要先遍历某个路径提取特定条件的文件名。这篇写一个暴力遍历但很简洁的方法,真的非常简洁但是非常暴力。 例子目标是:获得存放遥感数据的文件夹下文件夹名以“_BAD”结尾的...

python进程池实现的多进程文件夹copy器完整示例

本文实例讲述了python进程池实现的多进程文件夹copy器。分享给大家供大家参考,具体如下: 应用:文件夹copy器(多进程版) import multiprocessing im...

Python双向循环链表实现方法分析

本文实例讲述了Python双向循环链表实现方法。分享给大家供大家参考,具体如下: 最近身边的朋友在研究用python来实现数据结构。遇到一个问题就是双向循环链表的实现,改指向的时候总是发...

python格式化字符串实例总结

本文实例总结了python格式化字符串的方法,分享给大家供大家参考。具体分析如下: 将python字符串格式化方法以例子的形式表述如下: * 定义宽度 Python代码如下: &g...