Python MD5算法使用
# 导入hash算法库
import hashlib
# 得到md5算法对象
hash_md5 = hashlib.md5()
# 准备要计算md5的数据(bytes类型)
data = '二进制数据'.encode('utf-8', errors='ignore')
# 计算
hash_md5.update(data)
# 获取计算结果(16进制字符串,32位字符)
md5_str = hash_md5.hexdigest()
# 打印结果
print(md5_str)
```
注意: md5算法在使用时,数据可以分多次传递给update方法。所以,如下代码的结果,和上面相同:
```python
# 导入hash算法库
import hashlib
# 得到md5算法对象
hash_md5 = hashlib.md5()
# 准备要计算md5的数据(bytes类型),第一部分
data1 = '二进制'.encode('utf-8', errors='ignore')
# 计算第一部分数据
hash_md5.update(data1)
# 准备要计算md5的数据(bytes类型),第二部分
data2 = '数据'.encode('utf-8', errors='ignore')
# 计算第一部分数据
hash_md5.update(data2)
# 获取计算结果(16进制字符串,32位字符)
md5_str = hash_md5.hexdigest()
# 打印结果
print(md5_str)
``` ## Python中使用md5算法获取文件MD5摘要
```python
# 导入hash算法库
import hashlib def file_md5sum(file_path):
'''计算文件md5值'''
# 得到md5算法对象
hash_md5 = hashlib.md5()
# 文件分块读取
chunk_size = 4096 # 4096 字节(4KB)
# 以二进制方式读文件
with open(file_path, "rb") as f:
# 获取分块数据(bytes),一次读取 chunk_size 个字节
chunk = f.read(chunk_size)
# 如果能读取到内容,就一直读取
while bool(chunk):
# 应用MD5算法,计算
hash_md5.update(chunk)
# 继续读
chunk = f.read(chunk_size)
# 返回计算结果(16进制字符串,32位字符)
return hash_md5.hexdigest() file_path = r'你的文件路径' # 改成自己的文件路径
file_md5_str = file_md5sum(file_path) # 计算给定路径的文件的md5
# 打印文件md5值
print(file_md5_str)
# 打印文件md5值(大写)
print(file_md5_str.upper())
Python MD5算法使用的更多相关文章
- python学习笔记(MD5算法)
博主最近进度停滞了 对web开发理解欠缺好多内容 今天整理下MD5算法,这个涉及到mysql数据库存储用户表密码字段的时候 一般是带有加密的 # -*- coding: utf-8 -*- impor ...
- python常用算法学习(4)——数据结构
数据结构简介 1,数据结构 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成.简单来说,数据结构就是设计数据以何种方式组织并存贮在计算机中.比如:列表,集合与字 ...
- hashlib加密模块主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法,HMAC消息签名(HMAC-SHA1,....)
hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 MD5 摘要输出 # ...
- golang md5加密和python md5加密比较
python md5加密和golang md5加密各有不同,记录于此做备忘 Python 方法 md5 import base64 import hashlib def get_md5_data(bo ...
- Python基础算法综合:加减乘除四则运算方法
#!usr/bin/env python# -*- coding:utf-8 -*-#python的算法加减乘除用符号:+,-,*,/来表示#以下全是python2.x写法,3.x以上请在python ...
- md5算法
md5算法 不可逆的:原文-->密文.用系统的API可以实现: 123456 ---密文 1987 ----密文: 算法步骤: 1.用每个byte去和11111111做与运算并且得到的是int类 ...
- MD5算法 简介
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权费用. MD5功能 l 输入任 ...
- md5算法原理一窥(其一)
首先,需要了解的事,md5并不是传说中的加密算法,只是一种散列算法.其加密的算法并不是我们说所的那样固定不变,只是一种映射的关系. 所以解密MD5没有现成的算法,只能用穷举法,把可能出现的明文,用MD ...
- Java利用MessageDigest提供的MD5算法加密字符串或文件
MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性.用术语讲,MD5是一种消息摘要算法(Message Digest Algorithm).另外还有一种常用的消息摘要算法SHA1.如果想了 ...
随机推荐
- LDAP目录服务
LDAP目录服务 1.ldap目录服务介绍: 目录是一类为了浏览和搜索数据而设计的特殊的数据库,目录服务是按树状形式存储信息的,目录包含基于属性的描述信息,并且支持高级的过滤功能,一般来说,目录不支持 ...
- ubuntu安装python版本的opencv
安装命令: pip install opencv-python
- php弹出式登录窗口并获得登录后返回值
一款bootstrap样式结合php制作的弹出式登录窗口,输入用户名和密码后,ajax传参给后台,并获得登录后返回值. hwLayer+ajax弹出登录框 $(function() { $('#for ...
- 模拟登录,发送amf类型数据
参考 http://blog.csdn.net/amandag/article/details/5666219 以及 稍微修改了一下AMFPost的类 一.登录 登录过程中主要用到标红的3个请 ...
- django后台admin csv 格式表格导出
1.在app下新建一个.py文件 此例commen.py commen.py (内容)(具体怎么导出的也不知道这么写就对了) import csv from django.http import H ...
- visual studio 2013 几个测试工具(Nunit 3、xUnit)
一.Nunit 3 1.在解决方案里添加一个类库——引用——右键(如下图)) 3.搜索nunit 并安装(如图) 3.注意引入命名空间并给测试类和测试方法添加特性(如图) 4.如果测试通过则为绿色(如 ...
- Jeecg-Boot 1.0版本发布,企业级快速开发平台
Jeecg-Boot 一款基于代码生成器的J2EE快速开发框架! 采用前后端分离技术: SpringBoot,Mybatis-plus,Shiro,JWT,Vue & Ant Design. ...
- json与csv的基础用与法
json库是处理json格式的python标准库 有两个过程: 编码(encoding):将python数据类型转换为json格式的过程 解码(decoding):从json格式中解析数据得到的pyt ...
- JVM-如何判断对象存活与否与CMS收集器和G1收集器的区别
JVM如何判断对象存活? 1.计数器 2.可达性分析 (很多主流语言采用这种方法来判断对象是否存活) 计数器:每当有一个地方引用该对象时,计数器 +1:引用失效则 -1: 优点:实现简单,判定效率 ...
- Redis广播
参见:http://blog.csdn.net/u011734144/article/details/51782085