MD5加密
2018-11-12 06:52:58来源:博客园 阅读 ()
MD5:是一种不可逆的加密算法.它是可靠的,并且安全的.在python中我们不需要手写这一套算法.
只需要引入一个叫hashlib的模块就能搞定MD5的加密工作.
import hashlib obj = hashlib.md5() obj.update("alex".encode("utf-8")) #加密的必须是字节 miwen = obj.hexdigest() print(miwen) #534b44a19bf18d20b71ecc4eb77c572f
但是仅仅是这样仍然不够安全,因为这样的密文通过一个所谓的MD5解密工具是有可能解密成功的
这是因为撞库的问题.由于MD5的原始算法已经存在很久了.那就有些人用一些简单的排列组合来计算MD5.然后当出现
相同的MD5密文的时候就很容易反推出原来的数据是什么.所以并不是MD5可逆.而是有些别有用心的人把MD5的常见
数据已经算完并保留起来了
那如何应对?我们只需要佳燕就行了,在使用MD5的时候.给函数的参数传递一个byte即可.
import hashlib obj = hashlib.md5(b"fsfdkhsgskjl125dhh") #加盐 obj.update("alex".encode("utf-8")) # 加密的必须是字节 miwen = obj.hexdigest() #6a89b5b541444af45a7927d42f43757d print(miwen)
MD5的应用:
# md5使用 def jiami(content): obj = hashlib.md5(SALT) obj.update(content.encode("utf-8")) return obj.hexdigest() # 注册 # username = input("请输入你的用户名:") # alex # password = input("请输入你的密码:") # password = jiami(password) # c3d4fe3dce88533a8b50cf2e9387c66d # print(password) uname = "alex" upwd = "c3d4fe3dce88533a8b50cf2e9387c66d" username = input("请输入你的用户名:") password = input("请输入你的密码:") if uname == username and upwd == jiami(password): print("登录成功") else: print("失败")
所以.以后存密码就不要存明文了,姚村密文.安全并且.这里加的盐不能改来改去.否则,整套密码就都乱了
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:python函数的返回值
- python aes 加密 2019-05-13
- Django中web开发用md5加密图片名并存储静态文件夹 2019-04-11
- 今日头条加密参数的识别 2019-03-10
- 破解百度翻译页面api参数加密 2019-02-25
- django加密解密api 2018-12-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash