分享

python必掌握库(五)hashlib库的使用

 liqualife 2019-09-20

一、为什么我们需要引用hashlib库?

  1. 安全安全安全!

  2. 任何允许用户登录的网站或app都会存储用户登录的用户名和口令。密码一般都不会以明文的方式进行存储,如果黑客登陆了你的数据库系统或者你的数据库泄露那估计公司CEO觉得天都要塌下来了。

二、hashlib库使用方法

Python里面的hashlib模块提供了很多加密的算法,这里介绍一下hashlib的简单使用事例,用hashlib的md5算法加密数据

2.1 md5()加密算法

import hashlib
hash = hashlib.md5()#创建了一个md5算法的对象(md5不能反解),即造出hash工厂
hash.update(bytes('password',encoding='utf-8'))#运送原材料喽,要对哪个字符串进行加密,就放这里
print(hash.hexdigest())#产出hash值,拿到加密字符串

我们可以看到生成结果是一个32位(5f4dcc3b5aa765d61d8327deb882cf99)的16进制字符串,生成结果是固定的128 bit字节(需要注意的是加密是固定的,就是关系是一一对应的,是存在缺陷的,可以被对撞出来,特别是一些使用123456666类作为密码的用户)

2.2 sha1()加密算法

hash2=hashlib.sha1()#sha1算法,hashlib很多加密算法
hash2.update(bytes('password',encoding='utf-8'))
print(hash2.hexdigest())

sha1()加密算法的结果是160 bit字节,通常用一个40位的16进制字符串表示。

2.3 sha256()加密算法

hash3=hashlib.sha256()#不同算法,hashlib很多加密算法
hash3.update(bytes('password',encoding='utf-8'))
print(hash4.hexdigest())

比sha1更安全的算法是SHA256和SHA512,不过越安全的算法越慢,而且摘要长度更长。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多