python中的hashlib模块

1 hashlib模块的作用:

hashlib是一个提供字符串加密功能的模块,包含MD5和SHA的算法,MD5和SHA是摘要算法,摘要算法是什么呢:

也可以称为哈希算法,离散算法。通过一个函数将任意长度的数据转化为一个长度固定的数据串,摘要函数是一个单向函数,计算f(data)很容易,但是通过digest反推data非常困难,对data做任意修改,计算出的摘要完全不相同。

2 以MD5算法为例使用hashlib:

md5算法特点:

  • 该算法不可逆
  • 不同字符串通过这个算法计算得到的密文总不相同
  • 相同算法以及相同的字符串获得的密文结果总是相同

用法实例:

import hashlib
new_md5=hashlib.md5()
new_md5.update('guo')
ret=new_md5.hexdigest()

# ret 为加密后的字符串

函数形式实现加密操作:

import hashlib
def get_ret(s):
    new_md5=hashlib.md5()
    new_md5.update(s)
    ret=new_md5.hexdigest()
    return ret

get_ret('guo')

用户验证登录:

import hashlib
def get_ret(s)
    new_md5=hashlib.md5()
    new_md5.update(s)
    ret = new_md5.hexdigest()
    return ret
username = input('username:')
password = input('password:')
with open('userinfo') as f:
    for line in f:
        usr, pwd = line.strip().split('|')
        if username == usr and get_ret(password) == pwd:
            print '登陆成功'
            break
        else:
            print('登录失败')

 

 

 

 

 

 

 

 

 

 

 

 

  • 3
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值