python中md5简单应用!
2017-08-22 19:18
253 查看
MD5是什么?
MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
1991年,Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了”安全-带子”(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法中,信息-摘要的大小和填充的必要条件与MD4完全相同。Den boer和Bosselaers曾发现MD5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了。
MD5有什么作用?
典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。为了让读者朋友对MD5的应用有个直观的认识,笔者以一个比方和一个实例来简要描述一下其工作过程:
大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。
MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
1991年,Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了”安全-带子”(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。这个算法很明显的由四个和MD4设计有少许不同的步骤组成。在MD5算法中,信息-摘要的大小和填充的必要条件与MD4完全相同。Den boer和Bosselaers曾发现MD5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了。
MD5有什么作用?
典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如:
MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。为了让读者朋友对MD5的应用有个直观的认识,笔者以一个比方和一个实例来简要描述一下其工作过程:
大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。
import hashlib # 导入模块hashlib应用md5模块 首先 # 你要加密的东西 md_str = ['666','python','博主'] def md5Encode_str(str): # 创建md5对象 md_m = hashlib.md5() m.update(str) # 传入需要加密的字符串进行MD5加密 return md_m.hexdigest() # 获取到经过MD5加密的字符串并返回 for md in md_str: # 遍历你列表中的字符串 # 必须进行转码 print(md5Encode(md.encode('utf-8'))) # 不转码报错 TypeError: Unicode-objects must be encoded before hashing
相关文章推荐
- python的paramiko模块简单应用
- Python在七牛云平台的应用(三)简单的人脸识别
- python chardet简单应用
- web简单应用python框架的选择-tornado
- Python在数学建模中的简单应用
- Python简单密码加密程序,加盐(salt)md5
- 用Python socket实现一个简单的http服务器(post 与get 的区别)、CGIHTTPServer 简单应用
- python简单应用!用爬虫来采集天猫所有优惠券信息,写入本地文件
- python脚本设置微信自动回复[简单应用]
- Python yield的简单应用和理解
- Python在数学建模中的简单应用
- 十二、Python简单数据结构应用(之…
- python expect模块pexpect简单应用
- 使用python创建一个简单的restful风格的webservice应用
- 十一、Python简单数据结构应用(之…
- python实现简单聊天应用 python群聊和点对点均实现
- python3爬虫之入门和正则表达式,获取IP地址, 隐马尔可夫模型及其在分词中的简单应用
- Python实现冒泡排序的简单应用示例
- 应用python编写简单新浪微博应用(一)
- Python简单爬虫的应用