python学习---摘要算法应用

 进入第九天的学习,之前学习的进程和线程,正则表达式,还有点生疏,没有自己编,只是在事例基础上改动试了试,于是就继续往下学习,昨晚学到了摘要算法,开始以为是很复杂的东西,心里有点打怵,毕竟算法不是我的特长,研究那么高深的东西,心里没底啊。不过往下看才发现,此算法非彼算法啊。大家学习一下就知道了。       遇到下面的练习,第一个是
      根据用户输入的口令,计算出存储在数据库中的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日
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值