基于hashlib模块--加密(详解)

 更新时间:2017年06月21日 10:06:51   投稿:jingxian  
下面小编就为大家带来一篇基于hashlib模块--加密(详解)。小编觉得挺不错的。现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

import hashlib
 
m = hashlib.md5()
m.update(b"hello")
print(m.hexdigest())
m.update(b"It's me")
print(m.hexdigest())
m.update(b"It's been a long time since we spoken.")
print(m.hexdigest())
 
m2 = hashlib.md5()
m2.update(b"helloIt's me")
print(m2.hexdigest())
 
# 输出
5d41402abc4b2a76b9719d911017c592
64f69d95135bc13d4827f871b37f780f
0c9a83e10aa2f9e9629be61146db9cc2
64f69d95135bc13d4827f871b37f780f
 
#第二个和第四个 md5值是相同的,所以第二个加密的是 helloIt'sme<br><code class="python comments"><br></code>

print(m.digest()) #2进制格式hash

print(len(m.hexdigest())) #16进制格式hash

# ######## sha1 ########
 
hash = hashlib.sha1()
hash.update('admin')
print(hash.hexdigest())
 
# ######## sha256 ########
 
hash = hashlib.sha256()
hash.update('admin')
print(hash.hexdigest())
 
 
# ######## sha384 ########
 
hash = hashlib.sha384()
hash.update('admin')
print(hash.hexdigest())
 
# ######## sha512 ########
 
hash = hashlib.sha512()
hash.update('admin')
print(hash.hexdigest())

python 还有一个 hmac 模块,它内部对我们创建 key 和 内容 再进行处理然后再加密

散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;

一般用于网络通信中消息加密,前提是双方先要约定好key,就像接头暗号一样,然后消息发送把用key把消息加密,接收方用key + 消息明文再加密,拿加密后的值 跟 发送者的相对比是否相等,这样就能验证消息的真实性,及发送者的合法性了。

import hmac
 
h = hmac.new("天王盖地虎".encode(encoding="utf-8"), "你是小松鼠".encode(encoding="utf-8"))
print(h.digest())
print(h.hexdigest())
 
#输出
b'fx\xad\xdd\x9e\xd6\xddcQN\x82c\xcd\xd9\x80-'
6678addd9ed6dd63514e8263cdd9802d

以上这篇基于hashlib模块--加密(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python+Pandas实现数据透视表

    Python+Pandas实现数据透视表

    对于数据透视表,相信对于Excel比较熟悉的小伙伴都知道如何使用它。本文将利用Python Pandas实现数据透视表功能,感兴趣的可以学习一下
    2022-06-06
  • Python按行读取文件的实现方法【小文件和大文件读取】

    Python按行读取文件的实现方法【小文件和大文件读取】

    这篇文章主要介绍了Python按行读取文件的实现方法,结合实例形式分析了针对小文件和大文件的读取方法,需要的朋友可以参考下
    2016-09-09
  • python使用cv2库、下载opencv库的方法

    python使用cv2库、下载opencv库的方法

    这篇文章主要介绍了python使用cv2库、下载opencv库的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Python自动化办公之创建PPT文件

    Python自动化办公之创建PPT文件

    python-pptx模块是Python中用于PPT操作的模块。本文将利用这一模块实现创建PPT文件。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-05-05
  • python字典的常用操作方法小结

    python字典的常用操作方法小结

    下面小编就为大家带来一篇python字典的常用操作方法小结。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧
    2016-05-05
  • Python 数据结构之队列的实现

    Python 数据结构之队列的实现

    这篇文章主要介绍了Python 数据结构之队列的实现的相关资料,需要的朋友可以参考下
    2017-01-01
  • python猜单词游戏的实现

    python猜单词游戏的实现

    这篇文章主要介绍了python猜单词游戏的实现,从单词列表中随机选取一个单词,让玩家猜测,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 在pycharm中debug 实时查看数据操作(交互式)

    在pycharm中debug 实时查看数据操作(交互式)

    这篇文章主要介绍了在pycharm中debug 实时查看数据操作(交互式),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python 发送和接收ActiveMQ消息的实例

    python 发送和接收ActiveMQ消息的实例

    今天小编就为大家分享一篇python 发送和接收ActiveMQ消息的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python 中 os.walk() 函数详解

    python 中 os.walk() 函数详解

    os.walk()是一种遍历目录数的函数,它以一种深度优先的策略(depth-first)访问指定的目录。这篇文章主要介绍了python 中 os.walk() 函数,需要的朋友可以参考下
    2021-11-11

最新评论