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就能在.NET里调用Python库

如何不用安装python就能在.NET里调用Python库

前言 Pythonnet这个屌爆的项目的出现,使得我们可以用一种新的方式,让C#可以和Python之间进行互操作。但是它的设置和部署可能有点问题,真的是这样吗? 本文我会介绍Python...

python版本的读写锁操作方法

本文实例讲述了python版本的读写锁操作方法。分享给大家供大家参考,具体如下: 最近要用到读写锁的机制,但是python2.7的自带库里居然木有. 网上讲读写锁的例子众多,但是原理简单...

解决Pycharm界面的子窗口不见了的问题

解决Pycharm界面的子窗口不见了的问题

pycharm程序界面一般有很多子窗口,如图1所示。 pycharm项目视图-运行窗口 图1 Pycharm子窗口 如果你发现某些子窗口不见了,图2是最过分的情形,无须担心。 图2...

flask框架jinja2模板与模板继承实例分析

本文实例讲述了flask框架jinja2模板与模板继承。分享给大家供大家参考,具体如下: jinja2模板 from werkzeug.contrib.cache import Si...

Python去除列表中重复元素的方法

本文实例讲述了Python去除列表中重复元素的方法。分享给大家供大家参考。具体如下: 比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','...