目录

  • 一、hashlib模块

    • 1.1 hash是什么
    • 1.2 hashlib模块的用法
  • 二、hmac模块
    • 1.1 hmac模块的用法

一、hashlib模块

1.1 hash是什么

hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512、MD5 算法),该算法接受传入的内容,经过运算得到一串hash值。

hash值的特点:

  1. 只要传入的内容一样,得到的hash值一样,可用于非明文密码传输时密码校验
  2. 不能由hash值返解成内容,即可以保证非明文密码的安全性
  3. 只要使用的hash算法不变,无论校验的内容有多大,得到的hash值长度是固定的,可以用于对文本的哈希处理

hash算法其实可以看成如下图所示的一座工厂,工厂接收你送来的原材料,经过加工返回的产品就是hash值

1.2 hashlib模块的用法

import hashlibm = hashlib.md5()  # 固定的写法,使用md5算法
m.update(b'123456') # 必须进行编码,bytes类型
# m.update(b'456')  # 可以叠加之前update的内容
print(m.hexdigest())

二、hmac模块

和hashlib功能一致,也是通过hash算法对密码进行加密。

不同的是hmac更安全,并且可以设置密钥,根据密钥来生成hash值

1.1 hmac模块的用法

import hmacm = hmac.new(b'abc')  # 设置密钥
m.update(b'123456')     # 必须进行编码,字节类型
# m.update(b'456')
print(m.hexdigest())    # 生成hash值

转载于:https://www.cnblogs.com/XuChengNotes/p/11366725.html

076 hashlib模块和hmac模块相关推荐

  1. SocketServer模块,hmac模块验证client合法性

    hmac模块: 1.模块初识: import hmac # h = hmac.new() #括号里要给它连个bytes类型,一个是自定义的secret_key,一个是你想进行加密的bytes # 密文 ...

  2. Python hashlib、hmac模块

    Python中的用于加密的函数位于hashlib,hmac模块中,都是内置模块,直接导入即可使用 hashlib模块实现了md5,sha1,sha224,sha256,sha384,sha512等算法 ...

  3. Python基础教程:hashlib和hmac模块

    一.hashlib模块 1 hash是什么 hash是一种算法(Python3.版本里使用hashlib模块代替了md5模块和sha模块,主要提供 SHA1.SHA224.SHA256.SHA384. ...

  4. python加密模块教程_Python加密模块的hashlib,hmac模块使用解析

    这篇文章主要介绍了Python加密模块的hashlib,hmac模块使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在写搬砖脚本中,碰到一个 ...

  5. python hmac_Python之hmac模块的使用

    hmac模块的作用: 用于验证信息的完整性. 1.hmac消息签名(默认使用MD5加算法) #!/usr/bin/env python#-*- coding: utf-8 -*- importhmac ...

  6. 铁乐学Python_Day35_Socket模块3和hmac模块

    验证客户端链接的合法性 如果你想在分布式系统中实现一个简单的客户端链接认证功能,又不像SSL那么复杂, 那么可以利用hmac+加盐的方式来实现. 例1:简单的服务端如下 #!/usr/bin/env ...

  7. Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块...

    一.前提介绍: 可以开辟作用域的只有类,函数,和模块            for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...

  8. Python学习日记(二十八) hashlib模块、configparse模块、logging模块

    hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任 ...

  9. hashlib模式和hmac模式

    hashlib模式 什么叫hash? 一:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法) ...

  10. 6 获取当前模块_python常用模块的常用方法介绍

    导入模块的一些语法 from random import randint#2.from 模块名 import 函数名,导入模块里的一个方法或变量from math import * #3.from 模 ...

最新文章

  1. 财务学python有意义吗-8年老财务:财务分析学python就能提高效率?一半人是骗子...
  2. 美团O2O排序解决方案——线下篇
  3. 数据中心机房的监控系统是否重要?
  4. 第二篇 python基础知识总结:数据、运算符
  5. oracle绑定变量过多,oracle - 在SQL Plus中使用绑定变量并返回多行? - 堆栈内存溢出...
  6. 汇编语言-009(表驱动选择 、条件控制流伪指令 、逻辑移位SHL,SHR 算术移位SAL,SAR)
  7. QT消息,事件,槽的典型用法
  8. jvm crash分析工具
  9. 蘑菇街移动端混合开发体系的研发与实践
  10. 天天生鲜页面设计——网站首页
  11. 3. react脚手架
  12. matlab中变压器的仿真,基于MATLAB的稳压变压器建模与仿真
  13. 简单说明什么是网络的DMZ区域
  14. 每日10行代码86: 计算两个向量的夹角余弦值
  15. Javascript 在WEB系统需求分析中的应用
  16. 债务人无力偿还,债权人可否直接起诉“次债务人”
  17. 【双卡尔曼滤波】基于simulink仿真的双卡尔曼滤波
  18. 微信H5开发之页面布局
  19. 生成排列 --- 蛮力法,Johnson-Trotter算法
  20. Linkage Mapper 专栏内容介绍

热门文章

  1. python判断数字和字母切换_Python判断字符串是否为字母或者数字(浮点数)的多种方法...
  2. anaconda r 语言_Centos7系统下R、 Rstudio及sparklyr的安装与配置
  3. java 邮件发送 demo_Java 邮件发送Demo
  4. 二十五、JAVA多线程(一、理论知识)
  5. 垃圾阿言之Maven与环境变量(这一波是卑微的)
  6. K3s(Kubernetes)环境使用Let‘s Encrypt证书的部署及自动配置https域名-阿里云域名解析管理
  7. Ubuntu 12.10方便操作套件
  8. IDEA操作 名字快速驼峰等操作
  9. jsp中运用html语言,JSP技术-第2章 HTML语言.doc
  10. 阿里负载均衡,配置中间证书问题(在starcom申请免费DV ssl)