首页 > 代码库 > python 之MD5加密
python 之MD5加密
#!/usr/bin/env python # -*- coding: utf-8 -*- #实现MD5加密 #加密之后再存储密码,这样相对安全 import hashlib import shelve ‘‘‘ #第一种实现 def sec_md(passwd): hash = hashlib.md5() #创建一个MD5对象 hash.update(passwd) #用update方法,使其通过md5方式加密 return hash.hexdigest() #第二种实现方式,跟上面最大的不同就是加密后长度的不同 def sec_ps(passwd): hash = hashlib.md5() #创建一个MD5对象 hash.update(passwd) #用update方法,使其通过md5方式加密 return hash.digest() 注: MD5是不能够反解,用户如果想判断密码是否匹配,把输入的密码再以 同样的方式进行加密后,再与存储在数据库加密的值进行匹配。所以,不能反 解,那么匹配的时候就得正解,通过匹配密文的方式进行匹配 ‘‘‘ #小栗子 def sec_md(passwd): hash = hashlib.md5() hash.update(passwd) return hash.hexdigest() def adduser(name,passwd): f = shelve.open(‘data.db‘) password = sec_md(passwd) f[name] = password f.close() #添加一个用户 #adduser(‘tantianran‘,‘1qaz#EDC‘) def login(name,passwd): password = sec_md(passwd) data = shelve.open(‘data.db‘) if password == data.get(name,None): return True else: return False if __name__ == "__main__": username = raw_input(‘用户名:‘) password = raw_input(‘登录口令:‘) while True: if login(username,password) == True: print ‘登录成功‘ break else: print ‘登录失败‘ break
本文出自 “FA&IT运维-Q群:223843163” 博客,请务必保留此出处http://freshair.blog.51cto.com/8272891/1870840
python 之MD5加密
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。