进入第九天的学习,之前学习的进程和线程,正则表达式,还有点生疏,没有自己编,只是在事例基础上改动试了试,于是就继续往下学习,昨晚学到了摘要算法,开始以为是很复杂的东西,心里有点打怵,毕竟算法不是我的特长,研究那么高深的东西,心里没底啊。不过往下看才发现,此算法非彼算法啊。大家学习一下就知道了。 遇到下面的练习,第一个是
根据用户输入的口令,计算出存储在数据库中的MD5口令:
发现这个是最简单的啊,把教程中的代码改动一下就可以了。
import hashlib
str = '12345'
def calc_m5(password):
md5 = hashlib.md5()
md5.update(password)
print md5.hexdigest()
print calc_m5(str)
遇到第二个练习,好像加了点难度啊
设计一个验证用户登录的函数,根据用户输入的口令是否正确,返回True或False:
db = {
'michael': 'e10adc3949ba59abbe56e057f20f883e',
'bob': '878ef96e86145580c38c87f0410ad153',
'alice': '99b1c2188db85afee403b1536010c2c9',
'john': '827ccb0eea8a706c4c34a16891f84e7b'
}
def login(user, password):
md5 = hashlib.md5()
md5.update(password)
if md5.hexdigest() == db[user]:
return True
else:
return False
print login('michael','123')
print login('john','12345')
运行,返回False和True,说明运行正常,
继续往下还有个练习根据用户输入的登录名和口令模拟用户注册,计算更安全的MD5:
db = {}
def register(username, password):
db[username] = get_md5(password + username + 'the-Salt')
然后,根据修改后的MD5算法实现用户登录的验证:
def login(username, password):
pass
首先,实现register函数,就要同时实现get_md5函数,如下
def get_md5(username):
md5 = hashlib.md5()
md5.update(username)
return md5.hexdigest()
def register(username,password):
return db[username] == get_md5(password + username+ 'salt_param')
然后开始login函数
def login(username, password):
if register(username,password) == True:
print 'load successed'
else:
print 'load failed'
print login('michael','123456')
运行,输出load successed,说明代码是正确的。 原理方面的,大家自己看教程,不多赘述。
编辑与 2017年12月27日
根据用户输入的口令,计算出存储在数据库中的MD5口令:
发现这个是最简单的啊,把教程中的代码改动一下就可以了。
import hashlib
str = '12345'
def calc_m5(password):
md5 = hashlib.md5()
md5.update(password)
print md5.hexdigest()
print calc_m5(str)
遇到第二个练习,好像加了点难度啊
设计一个验证用户登录的函数,根据用户输入的口令是否正确,返回True或False:
db = {
'michael': 'e10adc3949ba59abbe56e057f20f883e',
'bob': '878ef96e86145580c38c87f0410ad153',
'alice': '99b1c2188db85afee403b1536010c2c9',
'john': '827ccb0eea8a706c4c34a16891f84e7b'
}
def login(user, password):
md5 = hashlib.md5()
md5.update(password)
if md5.hexdigest() == db[user]:
return True
else:
return False
print login('michael','123')
print login('john','12345')
运行,返回False和True,说明运行正常,
继续往下还有个练习根据用户输入的登录名和口令模拟用户注册,计算更安全的MD5:
db = {}
def register(username, password):
db[username] = get_md5(password + username + 'the-Salt')
然后,根据修改后的MD5算法实现用户登录的验证:
def login(username, password):
pass
首先,实现register函数,就要同时实现get_md5函数,如下
def get_md5(username):
md5 = hashlib.md5()
md5.update(username)
return md5.hexdigest()
def register(username,password):
return db[username] == get_md5(password + username+ 'salt_param')
然后开始login函数
def login(username, password):
if register(username,password) == True:
print 'load successed'
else:
print 'load failed'
print login('michael','123456')
运行,输出load successed,说明代码是正确的。 原理方面的,大家自己看教程,不多赘述。
编辑与 2017年12月27日