hashlib模块是python内置的摘要算法。

hashlib有两种调用方式:

第一种是hashlib.new方法

new(name, data=b‘‘, **kwargs) - returns a new hash object implementing the given hash function; initializing the hash using the given binary data.

importhashlib

md5obj= hashlib.new("md5", b‘alex3714‘)

md5obj.hexdigest()

第二种是直接创建被允许的的算法

Named constructor functions are also available, these are faster than using new(name):

md5(), sha1(), sha224(), sha256(), sha384(), sha512(), blake2b(), blake2s(), sha3_224, sha3_256, sha3_384, sha3_512, shake_128, and shake_256.

More algorithms may be available on your platform but the above are guaranteed to exist. See the algorithms_guaranteed and algorithms_available attributes to find out what algorithm names can be passed to new().

importhashlib#将一个字符串进行摘要运算,拿到一个固定的值;,包含了多中加密算法

md5obj = hashlib.md5() #摘要

md5obj.update(b‘alex‘) #要加密的字符串的字节

md5obj.update(b"3714") #要加密的字符串的字节#多次update是拼接到一起的,再进行hexdigest(),结果和一次update的时一样的#md5obj.update(b‘alex3714)

md5obj.hexdigest() #转成16进制,加密结果是32位

用户名与密码加密:

名词:撞库,根据输入和摘要算法的结果来验证输入与存储的加密算法结果的一致性。

加盐,通过加入随机字符串来防止撞库。

对用户名和密码加密,通常会进行加盐:

1.根据用户名生成随机字符串

2.将该随机字符串与密码拼接在一起,进行摘要算法,得到最后的密码加密结果

importhashlib, random

l1= list(range(48, 58))

l2= list(range(65, 91))

l3= list(range(97, 123))

l1.extend(l2)

l1.extend(l3)

username= "alex"passwd= "alex3714"

#根据用户名生成随机字符串

lis = ""

for i in range(16):

v= random.randint(0, len(l1)-1)

lis+=chr(l1[v])

passwd+=lis

md5= hashlib.new("md5", bytes(passwd, encoding="utf8"))

passwd=md5.hexdigest()

user=dict(

username=username,

user_string=lis,

passwd=passwd,

)print(user)#{‘username‘: ‘alex‘, ‘user_string‘: ‘MnkCViH3avdDYp3U‘, ‘passwd‘: ‘35a5a0e38ea22720a78d594d8f02a021‘}

python hashlib_python之hashlib模块相关推荐

  1. python hashlib_python中hashlib模块用法示例

    我们以前介绍过一篇Python加密的文章:Python 加密的实例详解.今天我们看看python中hashlib模块用法示例,具体如下. hashlib hashlib主要提供字符加密功能,将md5和 ...

  2. python中hashlib_python的hashlib模块

    #-*- coding: utf-8 -*- """python 的MD5 sha1 模块""" importhashlib#md5的例子 ...

  3. python包mdure_Python hashlib模块实例使用详解

    这篇文章主要介绍了Python hashlib模块实例使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 hashlib模块主要的作用: 加密保 ...

  4. python学习笔记——hashlib模块

    上篇:https://blog.csdn.net/qq_42489308/article/details/89813895 hashlib Hash,译做"散列",也有直接音译为& ...

  5. python中的hashlib模块

    1 hashlib模块的作用: hashlib是一个提供字符串加密功能的模块,包含MD5和SHA的算法,MD5和SHA是摘要算法,摘要算法是什么呢: 也可以称为哈希算法,离散算法.通过一个函数将任意长 ...

  6. python四十一:hashlib模块

    import hashlibobj = hashlib.md5()obj.update("md5dd".encode("UTF-8")) print(obj.h ...

  7. python hashlib_python import hashlib出现问题

    import hashlib时出现如下问题: >>> import hashlib ERROR:root:code for hash md5 was not found. Trace ...

  8. md5模块(Python内置模块)和hashlib模块

    转自https://my.oschina.net/duhaizhang/blog/67214 MD5模块用于产生消息摘要,康用来判断文件是否相同. python的md5模块使用非常简单,包括以下几个函 ...

  9. python hashlib模块_python3 hashlib模块

    Python3 hashlib模块和hmac 模块(加密) hashlib 是一个提供了一些流行的hash算法的 Python 标准库.其中所包括的算法有 md5, sha1, sha224, sha ...

最新文章

  1. pytorch与keras_Keras vs PyTorch:如何通过迁移学习区分外星人与掠食者
  2. 我的世界java版怎么添加光影,《我的世界》中国版光影添加教程 国服怎么添加光影?...
  3. 剑指Offer(Java实现)重建二叉树
  4. 1.16 static关键字(静态变量和静态方法)
  5. adb shell 修改文件名_从零开始学Linux运维|27.Shell编程(函数与参数的传递)
  6. 本文把 TCP/IP 讲绝了
  7. C#中的运算符、数组、枚举、结构体
  8. 生成Apk遇到的问题
  9. 用html5播放两个视频,HTML5视频 - 如何进行无缝播放和/或几个视频循环?
  10. 运行中的linux备份系统盘,怎样使用ghost对linux进行系统备份?
  11. kali 安装sogou输入法(kali 版本介于16.1-18.2)
  12. Rust Async: Pin概念解析
  13. iOS 蓝牙开发 swift (一)
  14. 使用Python解二元一次方程组
  15. 【3】基于OpenCV—Python绘制图片三维空间显示图
  16. html 怎么布局ui,移动端UI快速布局解决方案AUI
  17. C# 浅谈基于Wpf下的MVVM模式的设计思想
  18. day07-python字典
  19. 晶联讯JLX12864G-290液晶,STM32+HAL库 SPI显示成功。
  20. Bootstrap 的基本使用方法

热门文章

  1. Ccesium实现三角面立体效果,类似threejs分段细分
  2. 计算机毕业论文工作记录本,完整版)本科生毕业设计-工作记录本
  3. 前端——如何用绝对定位(position:absolute)完美定位布局及其注意事项
  4. 创维电视卡在android,两招帮你解决创维电视运行卡顿问题
  5. 问世 20 年,QQ 要推出注销功能
  6. git关于创建/删除分支常用命令
  7. 看了朱有鹏老师嵌入式开发板刷机课程后总结
  8. C/C++程序CPU问题分析
  9. 阿里财报:菜鸟外部收入占比提升至73%
  10. 【Java学习笔记】API:线程