美文网首页
hashlib模块-加密算法

hashlib模块-加密算法

作者: 夕阳_好 | 来源:发表于2020-07-08 17:31 被阅读0次

hashlib 模块提供了常见的摘要算法,如MD5,SHA1

摘要算法(又称哈希算法、散列算法):
原理:它通过一个函数,把任意长度的数据转为一个长度固定的数据串(通常用16进制的字符串表示)

加密概念:单向的加密,反推理论上不可能。

算法:

一 、MD5:
最常见的摘要算法,特点:速度快,生成的结果是128位字节,通常用32位id 16进制字符串表示

例如:

a = b'good morning'
m5 = hashlib.md5()
m5.update(a)
print(m5.hexdigest()) # 进行16进制转化生成32位字符串
输出:2b849500e4585dab4196ec9a415edf8f

一般结合base64使用, 例如
a = '12345'
a = a.encode('utf-8')
a = base64.b64encode(a)
md5 = hashlib.md5()
m5.update(a)
print(m5.hexdigest())

如果数据量比较大, 可以分多次调用update,最后的结果是一样的

m6 = hashlib.md5()
m6.update(b'good ')
m6.update(b'morning')
print(m6.hexdigest())
输出是一样的加密结果:
2b849500e4585dab4196ec9a415edf8f
2b849500e4585dab4196ec9a415edf8f

二 、SHA1:重点:
调用SHA1与调用MD5完全一样,SHA1的结果是160bit字节,通常40位16进制字符串表示

a2 = b'good morning'
sh1 = hashlib.sha1()
sh1.update(a2)
print(sh1.hexdigest())
输出结果对比32位和40位:
2b849500e4585dab4196ec9a415edf8f
a8cbec7254dd9499e2f86d55098931a41db62d6e


三、 更安全的:
SHA256
SHA512
越安全的算法不仅越慢,摘要会越长

四、应用:
任何允许用户登录的网站都会存储用户登录的用户名和密码,那么密码一般存储的是原密码的摘要值。

如果明文存到数据库中,数据库泄露,信息就会暴露不安全。
前端传过来密码会在后端进行加密获得摘要值,与数据库存储的摘要值对比是否相等,来决定是否登录成功。

相关文章

  • Python 入门之 内置模块 -- hashlib模块

    Python 入门之 内置模块 -- hashlib模块 1、hashlib 摘要算法,加密算法 (1)主要用途:...

  • hashlib,logging模块

    hashlib hashlib是提供摘要算法的模块,包括MD5,SHA等算法。md5加密算法是单方向的,不可逆。 ...

  • hashlib模块-加密算法

    hashlib 模块提供了常见的摘要算法,如MD5,SHA1 摘要算法(又称哈希算法、散列算法):原理:它通过一个...

  • python hashlib模块简介

    python hashlib模块简介 一、hashlib模块里有什么 hashlib模块提供了多种安全散列和消息摘...

  • python md5,SHA1,Hmac加密

    Python的hashlib模块提供了常见的加密算法,如MD5,SHA1等。md5加密:单向验证加密,例如:客户端...

  • 关于pycharm的hashlib问题

    今天偶然在使用hashlib的时候发现一个报错 pycharm导入hashlib模块后使用hashlib.md5(...

  • python常用模块!!

    os模块: stat模块: sys模块: hashlib,md5模块: random模块: types模块: at...

  • hashlib模块

    hash算法就像一座工厂,工厂接收你送来的原材料(可以用m.update()为工厂运送原材料),经过加工返回的产品...

  • hashlib模块

    (一) hashlib的作用 hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,...

  • hashlib模块

    相关文章: https://www.cnblogs.com/featherwit/p/13280316.html[...

网友评论

      本文标题:hashlib模块-加密算法

      本文链接:https://www.haomeiwen.com/subject/mrognhtx.html