hashlib模块用于加密相关的操作。在Python 3.x里代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512 、MD5 算法。如果包含中文字符的话,给字符加上编码.encode('utf-8')

md5加密

import hashlib

h = hashlib.md5()
h.update(b'123456')
print(h.hexdigest())
#输出
e10adc3949ba59abbe56e057f20f883e

  

注意:update是更新的意思,都存储在h对象里面。

import hashlib

h = hashlib.md5()
h.update(b'123')
print(h.hexdigest()) #md5加密123
h.update(b'456')
print(h.hexdigest()) #MD5加密123456
#输出
202cb962ac59075b964b07152d234b70
e10adc3949ba59abbe56e057f20f883e

  

sha1

sha1加密不安全,需要注意。

h = hashlib.sha1()
h.update(b'123456')
print(h.hexdigest())
#输出
7c4a8d09ca3762af61e59520943dc26494f8941b

  

sha256

h = hashlib.sha256()
h.update(b'123456')
print(h.hexdigest())
#输出
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

  

hmac模块

import hmac

h = hmac.new(b"user","测试账号".encode('utf-8'))
print(h.digest())
print(h.hexdigest())

  

Python标准库之hashlib模块与hmac模块的更多相关文章

  1. Python标准库:datetime 时间和日期模块 —— 时间的获取和操作详解

    datetime 时间和日期模块 datetime 模块提供了以简单和复杂的方式操作日期和时间的类.虽然支持日期和时间算法,但实现的重点是有效的成员提取以进行输出格式化和操作.该模块还支持可感知时区的 ...

  2. Python标准库tempfile的使用总结

    Python标准库tempfile的使用总结 临时文件是计算机程序存储临时数据的文件,它的扩展名通常是".temp".本文用于记录使用Python提供的临时文件API解决实际问题的 ...

  3. [python标准库]Pickle模块

    Pickle-------python对象序列化 本文主要阐述以下几点: 1.pickle模块简介 2.pickle模块提供的方法 3.注意事项 4.实例解析 1.pickle模块简介 The pic ...

  4. [python标准库]XML模块

    1.什么是XML XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词. ...

  5. Python 标准库 ConfigParser 模块 的使用

    Python 标准库 ConfigParser 模块 的使用 demo #!/usr/bin/env python # coding=utf-8 import ConfigParser import ...

  6. Python标准库笔记(11) — Operator模块

    Operator--标准功能性操作符接口. 代码中使用迭代器时,有时必须要为一个简单表达式创建函数.有些情况这些函数可以用一个lambda函数实现,但是对于某些操作,根本没必要去写一个新的函数.因此o ...

  7. Python标准库笔记(10) — itertools模块

    itertools 用于更高效地创建迭代器的函数工具. itertools 提供的功能受Clojure,Haskell,APL和SML等函数式编程语言的类似功能的启发.它们的目的是快速有效地使用内存, ...

  8. Python标准库笔记(9) — functools模块

    functools 作用于函数的函数 functools 模块提供用于调整或扩展函数和其他可调用对象的工具,而无需完全重写它们. 装饰器 partial 类是 functools 模块提供的主要工具, ...

  9. Python标准库笔记(8) — pprint模块

    struct模块提供了用于在字节字符串和Python原生数据类型之间转换函数,比如数字和字符串. Python版本: 2.x & 3.x 该模块作用是完成Python数值和C语言结构体的Pyt ...

随机推荐

  1. 底层解析web安全软件

    试用了一些 web安全软件,服务器安全狗.云锁.绿盟……  感觉里面有些功能是可以手动优化的,大概总结一下. 1.禁止 ping                  这是服务器比较常用的功能,防止pin ...

  2. ORB-SLAM2 论文&代码学习 —— LoopClosing 线程

    转载请注明出处,谢谢 原创作者:Mingrui 原创链接:https://www.cnblogs.com/MingruiYu/p/12369339.html 本文要点: ORB-SLAM2 LoopC ...

  3. 常用js封装

    //获取url参数 function getUrlParams(name, url) { if (!url) url = location.href; name = name.replace(/[\[ ...

  4. Cesium案例解析(四)——3DModels模型加载

    目录 1. 概述 2. 代码 3. 解析 4. 参考 1. 概述 Cesium自带的3D Models示例,展示了如何加载glTF格式三维模型数据.glTF是为WebGL量身定制的数据格式,在网络环境 ...

  5. ELK学习003:Elasticsearch启动常见问题

    一.Caused by: java.lang.RuntimeException: can not run elasticsearch as root 这个错误,是因为使用root用户启动elastic ...

  6. Django3的安装以及web项目的创建

    cmd 直接输入:pip install -i https://pypi.douban.com/simple django 2.检测是否安装成功:用到的命令:import  django  ,检测版本 ...

  7. CSGO控制台命令

    转帖: 按下“~”即可开启 使用时先输入参数名 然后按下SPACE空出一格 再输入设定值即可 一般玩家进入游戏都只能用到Client(玩家用参数) 不过...如果你是开LAN GAME的人 就能进阶到 ...

  8. Jmeter连接数据库并使用数据表数据作为接口所需参数

    jmeter连接数据库,并且使用数据库的用户名密码进行登录操作,具体步骤如下: 1.参考博客<Jmeter连接SqlServer数据库并操作>进行相关内容的补充,修改JDBC Reques ...

  9. 安装 mysqlclient 报 mysql_config not found

    安装 mysqlclient 报 mysql_config not found raise EnvironmentError("%s not found" % (mysql_con ...

  10. FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate;的解决办法

    踩坑场景 报错FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate; 解决办法 1.升级numpy ...