专栏首页python3python hashlib模块

python hashlib模块

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

SHA512 安全性最高

SHA和MD5 是2种算法,SHA算法比md5更复杂,更安全

字典就是用hash做的

MD5(不能反解)

import hashlib
#声明一个对象
m = hashlib.md5()
#增加一条二进制数据
m.update(b"Hello")
#16进制格式hash
print(m.hexdigest())
#拼接字符串
m.update(b"It's me")
print(m.hexdigest())

m2= hashlib.md5()
m2.update(b"HelloIt's me")
print(m2.hexdigest())

执行输出

8b1a9953c4611296a827abf8c47804d7

5ddeb47b2f925ad0bf249c52e342728a

5ddeb47b2f925ad0bf249c52e342728a

注意:

m.update(b"Hello")
m.update(b"It's me")

等同于

m2.update(b"HelloIt's me")

SHA(不能反解)

import hashlib
#sha1以后会被淘汰的,建议使用sha512
s2 = hashlib.sha1()
s2.update(b"HelloIt's me")
print(s2.hexdigest())

执行输出

4ca1ebbeaf8237d6d1650daad5ddaeca8e9a0e4c

加密中文

import hashlib
s2 = hashlib.sha512()
s2.update("你好,我是西门吹雪".encode(encoding="utf-8"))
print(s2.hexdigest())

执行输出

ce8fd0554bbaf07b50a2787f8b6223ded649296bd007a050ffd6c0b5303ce130c6f1160bc9d5723f8808ea31ce9b95d7740d75cb96e5fd097e24c103a0aac7b7

SSL使用SHA256

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

import hmac
h = hmac.new(b'1234','叶孤城'.encode(encoding="utf-8"))
print(h.hexdigest())

执行输出

0bf2a3321ea64a25d3899a05f676b63c

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python的SIP客户端

        公司要搭一套电话会议系统,经济危机啦,为了节省开支,这种实验性的东西都交给我了,也是因为没有什么项目,不能让人闲着啊,哈哈。开源的IP PBX就知道as...

    py3study
  • Python3 break与contin

    py3study
  • unix基础教程3 通信

    1、内部通信系统 2、外部通信系统 3、即时通讯 1)交谈命令write(须在线) write username [terminal] $write ...

    py3study
  • 产品思维的修炼–技术的必修课

    作为写了十多年代码的技术表示:产品思维比程序员们想象中重要得多!掌握了产品思维的程序员能力可以double!我把产品思维的养成要点,从我的认知上提炼了下,供大家...

    陶辉
  • 如何看待开发人员转型做产品经理?

    ? 如何看待开发人员转型做产品经理? 之所以谈论如何看待开发人员转型做产品经理这个话题,是因为之前有人在小密圈跟我提问,他想从技术转为做产品,如何转型,我把之...

    非著名程序员
  • 使用 Nodejs 开发的 SpaceX-API 开源了!

    上面这个图片不是从网上随便找的,来自于 SpaceX-API 项目的 Github 网站,想起了之前说的一个玩笑 “面试造火箭” 这次是真的造火箭了。。。

    五月君
  • 互联网产品运营体系总结之产品设计

    前段时间写了两篇关于产品运营方法的文章,发表到产品经理专业网站上,受到大家的欢迎。这段时间自己也一直在思考,如果只有当我们碰到困难和问题时,才去找方法,未免工作...

    企鹅号小编
  • 评估产品是否靠谱

    用户2025931
  • 如何快速上手熟悉业务?

    也许你会有这样的经历,刚跳槽到新公司,开始接手新的项目,熟悉业务。当你发现代码易读性不高,注释也是简单几句;这确实是一个不小的挑战。硬着头皮去啃代码,然后来熟悉...

    猴哥yuri
  • MX Linux 17 Beta 1 发布,基于 Debian 的发行版

    MX Linux 是基于 Debian 稳定分支的面向桌面的 Linux 发行,它是 antiX 及早先的 MEPIS Linux 社区合作的产物。它采用 Xf...

    Debian社区

扫码关注云+社区

领取腾讯云代金券