python中的hashlib模块使用实例
作者:菜鸟更要努力呀
这篇文章主要介绍了python中的hashlib模块使用实例,hashlib是一个提供字符串加密功能的模块,包含MD5和SHA的算法,MD5和SHA是摘要算法,文中以实例代码讲解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('登录失败')主要的应用场景呢,就是我们的密码的加密和明文的加密,按照一定的约定去形成我们的加密的方式即可,有些时候为了避免太过于简单的加密,我们会约定一个私钥,增加加密的复杂性。
到此这篇关于python中的hashlib模块使用实例的文章就介绍到这了,更多相关python的hashlib模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
