Python hashlib模块的使用示例


Posted in Python onOctober 09, 2020

一.hashlib模块

用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供

:SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。

1.使用hashlib模块进行MD5加密。

import hashlib

m = hashlib.md5()

m.update(b"Hello")

m.update(b"It's me")

print(m.hexdigest())

m.update(b"It's been a long time since last time we ...")

print(m.digest())

注:hashlib.md5():创建一个md5加密参数。

注:变量.hexdigest():十六进制加密。

注:变量.digest():二进制加密

注:总共有32个值。

2.使用SHA1算法加密。

import hashlib

s2 = hashlib.sha1()

s2.update(b"abc")

print(s2.hexdigest())

注:总共有38个值。

3.使用SHA256算法加密

s2 = hashlib.sha256()

s2.update(b"abc")

print(s2.hexdigest())

print(len(s2.hexdigest()))

注:有64个加密数值。

4.使用SHA384算法加密。

import hashlib

s2 = hashlib.sha384()

s2.update(b"abc")

print(s2.hexdigest())

print(len(s2.hexdigest()))

注:有96个加密数值。

5.使用SHA512算法加密。

import hashlib

s2 = hashlib.sha512()

s2.update(b"abc")

print(s2.hexdigest())

print(len(s2.hexdigest()))

注:有128个加密数值。

二.加密算法进阶

import hmac
h = hmac.new('wueiqi')
h.update('hellowo')
print h.hexdigest()

注:相当于加密后又进行一层加密。双层加密。

import hmac

h = hmac.new(b"xsk","y风的风x".encode(encoding="utf-8"))

print(h.digest())

print(h.hexdigest())

注:双层加密。

注:加入中文key需要,转换字符类型。

以上就是Python hashlib模块的使用示例的详细内容,更多关于Python hashlib模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 Python
玩转python爬虫之正则表达式
Feb 17 Python
简单谈谈python中的多进程
Nov 06 Python
初探TensorFLow从文件读取图片的四种方式
Feb 06 Python
Python之pandas读写文件乱码的解决方法
Apr 20 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
Jul 26 Python
解决python3中cv2读取中文路径的问题
Dec 05 Python
基于Python 中函数的 收集参数 机制
Dec 21 Python
浅谈python处理json和redis hash的坑
Jul 16 Python
python使用bs4爬取boss直聘静态页面
Oct 10 Python
Python requests HTTP验证登录实现流程
Nov 05 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 Python
浅析Python requests 模块
Oct 09 #Python
Python特殊属性property原理及使用方法解析
Oct 09 #Python
python GUI计算器的实现
Oct 09 #Python
Numpy实现卷积神经网络(CNN)的示例
Oct 09 #Python
Python使用socket_TCP实现小文件下载功能
Oct 09 #Python
python实现逻辑回归的示例
Oct 09 #Python
Django生成数据库及添加用户报错解决方案
Oct 09 #Python
You might like
组合算法的PHP解答方法
2012/02/04 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
javascript 特殊字符串
2009/02/25 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
javascript基础知识讲解
2017/01/11 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
亲自动手实现vue日历控件
2019/06/26 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
实例讲解python函数式编程
2014/06/09 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
Python反转序列的方法实例分析
2018/03/21 Python
python中的常量和变量代码详解
2018/07/25 Python
python获取服务器响应cookie的实例
2018/12/28 Python
详解python多线程之间的同步(一)
2019/04/03 Python
Form表单及django的form表单的补充
2019/07/25 Python
Django数据库操作之save与update的使用
2020/04/01 Python
python实现人像动漫化的示例代码
2020/05/17 Python
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
纠纷协议书
2014/04/16 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js
vue判断按钮是否可以点击
2022/04/09 Vue.js
Android实现图片九宫格
2022/06/28 Java/Android