python------模块定义、导入、优化 ------->hashlib模块
一.hashlib模块
用于加密相关的操作,3.x版本里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。
(MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。百度百科)
注:MD5值不能反解
MD5算法加密:
1 import hashlib
m = hashlib.md5()
m.update(b"Hello") #b:bite类型
print(m.hexdigest()) #十六进制
m.update(b"It's me")
#print(m.digest()) #十进制
print(m.hexdigest())
m.update(b"It's been a long time since last time we ...")
print(m.hexdigest()) 运行结果:
8b1a9953c4611296a827abf8c47804d7 #加密Hello的结果
5ddeb47b2f925ad0bf249c52e342728a #加密Hello和It's me的结果
a0e9894503cb9f1a14aa073f3caefaa5 ##加密以上所有的结果
import hashlib
m = hashlib.md5()
m.update("天王盖地虎".encode(encoding="utf-8")) #b:bite类型 中文要进行编码
print(m.hexdigest()) #十六进制
二. hmac模块 : 双层加密
import hmac
h = hmac.new(b"",b"") #注意:3.x版本中用bite类型
print(h.hexdigest())
print(h.digest())
import hmac
h = hmac.new(b"12345","天王盖地虎".encode()) #注意:3.x版本中用bite类型
print(h.hexdigest())
print(h.digest())
python------模块定义、导入、优化 ------->hashlib模块的更多相关文章
- 8.模块定义导入优化time datetime内置模块
1.模块(module)的定义:本质就是.py的python文件用来从逻辑上组织python代码(变量\函数\类\逻辑:实现一个功能)包(package)的定义:用来从逻辑上组织模块的,本质就是一个文 ...
- python_79_模块定义导入优化
''' 1.定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件 (文件名:test.py,对应的模块名:test. import ...
- python_80_模块定义导入优化实例
运行结果 __import__作用: 同import语句同样的功能,但__import__是一个函数,并且只接收字符串作为参数,所以它的作用就可想而知了.其实import语句就是调用这 ...
- Python3 第五周大纲(模块,导入方法、import本质,导入优化,模块的分类)
1.定义: 模块:逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能,本质是.py结尾的文件) 2.导入方法 import module_name,module_name2,...... ...
- python 模块定义导入
1.定义模块:用来从逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能),本质就是:.py结尾的python文件(文件名:test.py,对应的模块名:test)包:本质就是一个目录(必须 ...
- python 全栈开发,Day25(复习,序列化模块json,pickle,shelve,hashlib模块)
一.复习 反射 必须会 必须能看懂 必须知道在哪儿用 hasattr getattr setattr delattr内置方法 必须能看懂 能用尽量用__len__ len(obj)的结果依赖于obj. ...
- Python基础之模块:6、hashlib模块 subprocess模块 logging模块
目录 一.hashlib模块 1.简介 2.基本操作与用法 二.subprocess模块 1.简介 2.基本操作与用法 三.logging模块 1.简介 2.基本操作与用法 一.hashlib模块 1 ...
- python模块 os&sys&subprocess&hashlib模块
os模块 # os模块可根据带不带path分为两类 # 不带path print(os.getcwd()) # 得到当前工作目录 print(os.name) # 指定你正在使用的操作系统,windo ...
- Day14 Python基础之os/sys/hashlib模块(十二)
os模块 os.getcwd() #获取当前工作路径 os.chdir(‘dirname1/dirname2/dirname3’) #改变当前脚本的工作路径,相当于cmd下的cd os.makedi ...
随机推荐
- 基于 Dropbear & Zlib 搭建轻量级的ssh server
[目的] 移植dropbear & zlib 在AM335X开发板上搭建轻量级的ssh server [环境] 1. Ubuntu 16.04发行版 2. MC183平台 3. 交叉编译 ...
- prototype:构造函数的真相、原型链
函数不是构造函数,但是当且仅当使用 new 时,函数调用会变成 ‘构造函数调用’.那么对 ’构造函数‘ 最准确的解释是:所有带 new 的函数调用. Nothing 只是一个普通的函数,但使用 new ...
- Resharper插件如何启用原VS的智能提示
第一步:vs2015选择工具—>选项—>文本编辑器—>C#—>常规—>语句结束,勾选自动列出成员,如下图: 第二步: 关闭Resharper智能提示,并设置为Visual ...
- DFS----Lake Counting (poj 2386)
Lake Counting(POJ No.2386) Description Due to recent rains, water has pooled in various places in Fa ...
- 【转】MySQL实现Oracle里的 rank()over(ORDER BY) 功能
Oracle rank()和dense_rank()的区别是: –rank()是跳跃排序,有两个第二名时接下来就是第四名 –dense_rank()l是连续排序,有两个第二名时仍然跟着第三名 sele ...
- Linux关闭防火墙步骤
1 先查询防火墙状态 [root@old-09 ~]# /etc/init.d/iptables status Table: filter Chain INPUT (policy ACCEPT) ...
- 数控AGC实现(转)
相关链接: 一种混合式高动态范围AGC算法与FPGA实现 http://www.sohu.com/a/221438387_781333 基于FPGA的快速自动增益控制系统设计 ...
- easyui再学习的一部分代码
<%-- Created by IntelliJ IDEA. User: zhen Date: // Time: : To change this template use File | Set ...
- oracle截取字段中的部分字符串
使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,de ...
- mysql encode decode加密和解密
加密:模板:insert into user(userpass) values(encode('useerpass','str')) insert into user(userid,username, ...