基于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端口扫描系统实现方法

    python端口扫描系统实现方法

    这篇文章主要介绍了python端口扫描系统实现方法,可实现简单的外网IP扫描及写入MySQL金沙国际官网等功能,需要的朋友可以参考下
    2014-11-11
  • windows 10下安装搭建django1.10.3和Apache2.4的方法

    windows 10下安装搭建django1.10.3和Apache2.4的方法

    最近发现很多教程都是在linux上搭建,windows上似乎天生不太适合,但是我还是愿意试试这个坑。下面这篇文章主要给大家介绍了在windows 10系统下安装搭建django1.10.3和Apache2.4的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-04-04
  • python pygame实现2048游戏

    python pygame实现2048游戏

    这篇文章主要为大家详细介绍了python pygame实现2048游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python实现删除文件中含“指定内容”的行示例

    Python实现删除文件中含“指定内容”的行示例

    这篇文章主要介绍了Python实现删除文件中含“指定内容”的行功能,涉及Python针对文件读取及字符串遍历、判断等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • python实现金沙国际官网跨服务器迁移

    python实现金沙国际官网跨服务器迁移

    这篇文章主要为大家详细介绍了Python实现金沙国际官网之间的数据迁移,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • python pandas 组内排序、单组排序、标号的实例

    python pandas 组内排序、单组排序、标号的实例

    下面小编就为大家分享一篇python pandas 组内排序、单组排序、标号的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 基于Python在MacOS上安装robotframework-ride

    基于Python在MacOS上安装robotframework-ride

    今天小编就为大家分享一篇关于基于Python在MacOS上安装robotframework-ride,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • python实现学生信息管理系统

    python实现学生信息管理系统

    这篇文章主要为大家详细介绍了python实现学生信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 从零学python系列之数据处理编程实例(一)

    从零学python系列之数据处理编程实例(一)

    本文目的:用一个实例总结学习到的with语句,函数,列表推导,集合,排序,字符分割等内容
    2014-05-05
  • python实现顺时针打印矩阵

    python实现顺时针打印矩阵

    这篇文章主要为大家详细介绍了python实现顺时针打印矩阵,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03

最新评论