python 计算文件md5值
md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等。下面讲解在python中如何使用md5算法。
一、计算字符串的md5值
- #!/usr/bin/env python
- # -*- coding: utf- -*-
- import sys
- import hashlib
- reload(sys)
- sys.setdefaultencoding('utf-8')
- if __name__ == '__main__':
- content = "hello"
- md5hash = hashlib.md5(content)
- md5 = md5hash.hexdigest()
- print(md5)
二、计算文件的md5值
- #!/usr/bin/env python
- # -*- coding: utf- -*-
- import sys
- import hashlib
- reload(sys)
- sys.setdefaultencoding('utf-8')
- if __name__ == '__main__':
- file_name = "3383430480_51_01.jpg"
- with open(file_name, 'rb') as fp:
- data = fp.read()
- file_md5= hashlib.md5(data).hexdigest()
- print(file_md5) # ac3ee699961c58ef80a78c2434efe0d0
三、计算大文件的md5值
- #!/usr/bin/env python
- # -*- coding: utf- -*-
- import sys
- import hashlib
- def get_file_md5(fname):
- m = hashlib.md5() #创建md5对象
- with open(fname,'rb') as fobj:
- while True:
- data = fobj.read()
- if not data:
- break
- m.update(data) #更新md5对象
- return m.hexdigest() #返回md5对象
- reload(sys)
- sys.setdefaultencoding('utf-8')
- if __name__ == '__main__':
- file_name = "mongodb_us.zip"
- file_md5 = get_file_md5(file_name)
- print(file_md5) # 0f45cdbf14de54001e82a17c3d199a4b
四、封装成常用库md5.py
- #!/usr/bin/env python
- # -*- coding: utf- -*-
- import hashlib
- def get_file_md5(file_name):
- """
- 计算文件的md5
- :param file_name:
- :return:
- """
- m = hashlib.md5() #创建md5对象
- with open(file_name,'rb') as fobj:
- while True:
- data = fobj.read()
- if not data:
- break
- m.update(data) #更新md5对象
- return m.hexdigest() #返回md5对象
- def get_str_md5(content):
- """
- 计算字符串md5
- :param content:
- :return:
- """
- m = hashlib.md5(content) #创建md5对象
- return m.hexdigest()
python 计算文件md5值的更多相关文章
- Python计算文件MD5值
import hashlib def fileMD5(filename): m = hashlib.md5() #md5计算 #m = hashlib.sha1() #sha1计算 #m = hash ...
- Java计算文件MD5值(支持大文件)
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.securit ...
- 用Qt编写的计算文件MD5值的Demo
Dialog.ui <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0& ...
- Python校验文件MD5值
import hashlib import os def GetFileMd5(filename): if not os.path.isfile(filename): return myHash = ...
- Java计算文件MD5值代码
原文:http://www.open-open.com/code/view/1424930488031 import java.io.File; import java.io.FileInputStr ...
- java计算过G文件md5 值计算
package io.bigdata; import java.io.File; import java.io.FileInputStream; import java.io.IOException; ...
- javascript 计算文件MD5 浏览器 javascript读取文件内容
原则上说,浏览器是一个不安全的环境.早期浏览器的内容是静态的,用户上网冲浪,一般就是拉取网页查看.后来,随着互联网的发展,浏览器提供了非常丰富的用户交互功能.从早期的表单交互,到现在的websocke ...
- 基于js-spark-md5前端js类库,快速获取文件Md5值
js-spark-md5是歪果仁开发的东西,有点多,但是我们只要一个js文件即可,具体类包我存在自己的oschina上,下载地址:https://git.oschina.net/jianqingwan ...
- MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能
MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...
随机推荐
- 2018年5月15日的sqlite安装和数据库记录
sqlite数据库安装在d:\sqlite_files运行sqlite3查看数据表,命令,.tables 数据库文件 d:\sqlite_files\device.db create table de ...
- ken桑带你读源码 之scrapy scrapy\extensions
logstats.py 爬虫启动时 打印抓取网页数 item数 memdebug.py 爬虫结束 统计还被引用的内存 也就是说gc 回收不了的内存 memusage.py 监控爬虫 内存占用 ...
- PHP array_diff_ukey() 函数
实例 比较两个数组的键名(使用用户自定义函数比较键名),并返回差集: <?phpfunction myfunction($a,$b){if ($a===$b){return 0;}return ...
- C/C++编程笔记:C++入门知识丨认识C++的函数和对象
一. 本篇要学习的内容和知识结构概览 二. 知识点逐条分析 1. 混合型语言 C++源文件的文件扩展名为.cpp, 也就是c plus plus的简写, 在该文件里有且只能有一个名为main的主函数, ...
- CF R 639 div2 F Review 贪心 二分
LINK:Résumé Review 这道题让我眼前一亮没想到二分这么绝. 由于每个\(b_i\)都是局部的 全局只有一个限制\(\sum_{i=1}^nb_i=k\) 所以dp没有什么用 我们只需要 ...
- c++ explict
explicit 用于一个参数的构造函数:防止隐式转换. 什么意思呢? myClass(int x); 这是个构造函数 我们可以使用 myClass a(4); 或 myClass a=4;来调用它 ...
- JQuery插件,轻量级表单模型验证(续 一)
之前的代码结构,不方便扩展多结构的模型验证 重新结构设计了一下验证模型核心 var validateForm = (function(model) { model.Key = "[data- ...
- 【BZOJ4173】数学 题解(数论)
前言:体验到了推式子的快感orz 题目大意:求$\varphi(n)*\varphi(m)*\sum_{n\ mod\ k+m\ mod\ k\geq k} \varphi(k)\ mod\ 9982 ...
- nginx多个server的配置,同一端口
nginx多个server的配置,同一端口 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/e ...
- java_内部类、匿名内部类的使用
内部类 将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类. 内部类的分类 成员内部类,类定义在了成员位置 (类中方法外称为成员位置) 局部内部类,类定义在方法内 成员内部类 ...