python中的hashlib模块使用实例

 更新时间:2023年08月11日 09:59:29   作者:菜鸟更要努力呀  
这篇文章主要介绍了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模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • virtualenv介绍及简明教程

    virtualenv介绍及简明教程

    这篇文章主要介绍了virtualenv介绍及简明教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Python读取配置文件-ConfigParser的二次封装方法

    Python读取配置文件-ConfigParser的二次封装方法

    这篇文章主要介绍了Python读取配置文件-ConfigParser的二次封装方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • python解决字典中的值是列表问题的方法

    python解决字典中的值是列表问题的方法

    这篇文章主要介绍了字典中的值是列表问题,先用value连成一个str,最后用str.split()作一个转换,生成一个列表.看了python cookbook,上面正好有一个recipe讲到如何处理这样的问题
    2013-03-03
  • Python设计模式优雅构建代码全面教程示例

    Python设计模式优雅构建代码全面教程示例

    Python作为一门多范式的编程语言,提供了丰富的设计模式应用场景,在本文中,我们将详细介绍 Python 中的各种设计模式,包括创建型、结构型和行为型模式
    2023-11-11
  • Python 输入一个数字判断成绩分数等级的方法

    Python 输入一个数字判断成绩分数等级的方法

    今天小编就为大家分享一篇Python 输入一个数字判断成绩分数等级的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python爬虫使用scrapy注意事项

    python爬虫使用scrapy注意事项

    在本篇文章里小编给大家整理的是一篇关于python爬虫使用scrapy注意事项的相关文章,对此有兴趣的朋友们可以学习下。
    2020-11-11
  • python字符串中的单双引

    python字符串中的单双引

    下面小编就为大家带来一篇python字符串中的单双引。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • pandas实战:分析三国志人物示例实现

    pandas实战:分析三国志人物示例实现

    这篇文章主要介绍了pandas实战:分析三国志人物示例实现,本文章内容详细,具有很好的参考价值,希望对大家有所帮助,需要的朋友可以参考下
    2023-01-01
  • pycharm 使用心得(六)进行简单的数据库管理

    pycharm 使用心得(六)进行简单的数据库管理

    功能简介:pycharm自带了一个简单的数据库插件,可以比较方便的进行简单的数据库操作。
    2014-06-06
  • Python pandas读取CSV文件的注意事项(适合新手)

    Python pandas读取CSV文件的注意事项(适合新手)

    这篇文章主要给大家介绍了关于Python pandas读取CSV文件的注意事项,非常适合新手,csv是我接触的比较早的一种文件,比较好的是这种文件既能够以电子表格的形式查看又能够以文本的形式查看,需要的朋友可以参考下
    2021-06-06

最新评论