MD5加密
2018-11-12 06:51:59来源:博客园 阅读 ()
一、MD5
- 过程不可逆
- 同一个明文的输出值不变
- 大多用在密码加密上
二、加密
1. 不加盐
- 不加盐方式得到的密文通过撞库可破解得到明文
import hashlib # 创建md5对象 obj = hashlib.md5() # 给obj设置明文 obj.update("2018".encode("utf-8")) # 括号内容须为bytes类型 # 获取到密文 mw = obj.hexdigest() print(mw) # 84ddfb34126fc3a48ee38d7044e87276
2. 加盐
- 通过加盐方式得到的密文就很难破解了
import hashlib SALT = b"abedkfjdiurwouregjogdif" # 创建md5对象 obj = hashlib.md5(SALT) # 给obj设置明文 obj.update("2018".encode("utf-8")) # 括号内容须为bytes类型 # 获取到密文 mw = obj.hexdigest() print(mw) # a2fd1c9c7b7e697e93d9df1f6e840b8a
三、应用
- 在用户注册时,密码通过加密保存,在用户登录时,用户输入密码后,先通过md5加密成密文,再与注册时密码密文匹配
import hashlib SALT = b"abedkfjdiurwouregjogdif" def encrypt(content): obj = hashlib.md5(SALT) obj.update(content.encode("utf-8")) return obj.hexdigest() # 注册 username = input("username: ") pwd = input("password: ") pwd = encrypt(pwd) # a2fd1c9c7b7e697e93d9df1f6e840b8a uname = "Tom" upwd = "a2fd1c9c7b7e697e93d9df1f6e840b8a" # 登录 username_info = input("username: ") pwd_info = input("password: ") if username_info == uname and upwd == encrypt(pwd_info): print("登录成功") else: print("用户名或密码错误")
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:反射
- 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