hashlib 简单的登录例子
hashlib例子:
===============================================
import hashlib
md5 = hashlib.md5()
md5.update("chenadong")
print md5.hexdigest()
>>>09b8ed39ecf488704d1898134e3d94a1
===============================================
摘要算法:
对同一个字符串进行摘要算法得到的结果永远相同
当前有很多种摘要算法;
md5()是最常用的
不同的算法结果可能不同
不同的摘要算法,在python里面的使用方法都是一样的
hashlib简单应用:登录功能:
===================================
import hashlib
import time
def get_passwd():
__passwd = raw_input(">>>请输入密码")
return str(__passwd)
def get_username():
__username = raw_input(">>>请输入用户名")
return __username
def sign_in():
__username = str(raw_input(">>>请输入用户名"))
__passwd = bytes(raw_input(">>>请输入密码"))
# print(__passwd)
md5 = hashlib.md5()
md5.update(__passwd)
__passwd = md5.hexdigest()
# print __passwd
with open("./user.txt", "wb") as f:
f.write(__username + "\n")
f.write(__passwd)
print "signed"
def login():
sign_in()
while True:
____username = get_username()
# print "****%s" % ____username
____passwd = get_passwd()
with open("./user.txt", "r") as f:
lst = f.readlines()
signed_user = lst[0].split("\n")[0]
signed_passwd = lst[1]
# print signed_passwd, signed_user
md5 = hashlib.md5()
md5.update(____passwd)
____passwd = md5.hexdigest()
if ____username == signed_user:
if ____passwd == signed_passwd:
print "welcome back %s!!!" % ____username
else:
print "your passwd is not match, please try again later"
time.sleep(3)
break
else:
print "unsigned username"
if __name__ == "__main__":
login()
>>>请输入用户名a
>>>请输入密码a
signed
>>>请输入用户名a
>>>请输入密码a
welcome back a!!!
>>>请输入用户名a
>>>请输入密码b
your passwd is not match, please try again later
============================================================