本文小编为大家详细介绍“如何使用python实现md5加密”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用python实现md5加密”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
python实现MD5加密
1、简介
Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用于确保信息传输完整一致。MD5是单向加密,指只能加密数据而不能解密数据,主要解决数据的完整性问题。
摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。MD5是最常见的摘要算法,速度很快,可以将一个字符串,或文件,或压缩包,执行md5后,生成一个固定长度为128bit的串,通常用一个32位的16进制字符串表示。
在python3的标准库中,已经移除了md5模块,而关于hash加密算法都放在hashlib这个标准库中,hashlib提供了常见的摘要算法,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。
2、用途
加密注册用户的密码,在保存用户密码时,不记录密码本身,只记录密码的MD5结果(即使数据库被盗也无法反推出明文)。 网站用户上传图片 / 文件后,将MD5值作为文件名。(MD5可以保证唯一性) key-value数据库中使用MD5值作为key。 比较两个文件是否相同。(在下载资源的时候,发现网站提供了MD5值,就是用来检测文件是否被篡改)
3、使用hashlib模块进行md5操作
import hashlib md5 = hashlib.md5() # md5对象,md5不能反解,但是加密是固定的 # update需要一个bytes格式参数 md5.update(str.encode('utf-8')) # 要对哪个字符串进行加密,就放这里 value = md5.hexdigest() # 拿到加密字符串
import hashlib str = '123456' md5 = hashlib.md5() # 创建md5加密对象 md5.update(str.encode('utf-8')) # 指定需要加密的字符串 str_md5 = md5.hexdigest() # 加密后的字符串 print(str_md5) # 结果:e10adc3949ba59abbe56e057f20f883e