第三十七节,hashlib加密模块
在使用hashlib模块时需要先 import hashlib 引入模块
用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
1. hashlib.加密方式函数() :定义加密方式,有参,参数是字符串转换的二进制,写上参数相当于就是给加密定义一个自定义秘钥
如:hash = hashlib.md5()
2. update() 将要加密的内容追加更新到加密方式里,有参,参数是字符串转换的二进制
如:hash.update(bytes('你好', encoding='utf-8'))
3. hexdigest() 获取加密后的加密串
如:print(hash.hexdigest())
4. digest() 获取加密后加密串的二进制
hashlib.md5()模块函数
功能:md5加密【有参可选】
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.md5() #hashlib.md5()定义md5加密方式
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# 220be55b2e3d8e60f9214b04a7a2328f
秘钥加密
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.md5(bytes('秘钥内容', encoding='utf-8')) #hashlib.md5()定义md5加密方式,参数可以加秘钥加密
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# 8fa00c7d401c2dbdb07415e1267e1c29
hashlib.sha1()模块函数
功能:sha1加密【有参可选】
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.sha1() #hashlib.sha1()定义sha1加密方式,参数可以加秘钥加密
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# 692bee2faf93fe878bac404895d6ebd4143160f7
秘钥加密
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.sha1(bytes('秘钥内容', encoding='utf-8')) #hashlib.sha1()定义sha1加密方式,参数可以加秘钥加密
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# a32556a79be8fbd99daf852fdccd48ea6c84dcba
hashlib.sha256()模块函数
功能:sha256加密【有参可选】
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.sha256() #hashlib.sha256()定义sha256加密方式,参数可以加秘钥加密
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# 0a3bdffddd689a4a7884b93ee01b6e39f4be37c2858fcbea4a41958c8ca0c449
秘钥加密
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.sha256(bytes('秘钥内容', encoding='utf-8')) #hashlib.sha256()定义sha256加密方式,参数可以加秘钥加密
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# adca1dab1be1f4cc2b122a722501d69ded6ec187d1b5e2cd9f0917831d23250d
hashlib.sha384()模块函数
功能:sha384加密【有参可选】
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.sha384() #hashlib.sha384()定义sha384加密方式,参数可以加秘钥加密
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# d72f3e201a71d985fe24b4604580772be7fcbbedb58e8563695796793d0870231811f65957c5735ec9d393f23099ae1c
秘钥加密
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.sha384(bytes('秘钥内容', encoding='utf-8')) #hashlib.sha384()定义sha384加密方式,参数可以加秘钥加密
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# 4dadebe0311ee367fce3b99f09fc2a47acd85afd80d5c9189259ce63ceaa68a876b3f12399a105450479060704c49eb6
hashlib.sha512()模块函数
功能:sha512加密【有参可选】
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.sha512() #hashlib.sha512()定义sha512加密方式,参数可以加秘钥加密
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# 5a77aa311064578b110245bf47dc381caa16fa00a8b3de6eb28a9853e90467fa011ec412ab54d4dae135b752a383391a222a17a2b52de5d76f3c124153889235
秘钥加密
#!/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib #引入hashlib模块
a = hashlib.sha512(bytes('秘钥内容', encoding='utf-8')) #hashlib.sha512()定义sha512加密方式,参数可以加秘钥加密
a.update(bytes('加密内容', encoding='utf-8')) #bytes()将要加密的内容转换成二进制,update()将二进制追加更新到加密对象里
print(a.hexdigest()) #hexdigest()获取加密对象里加密后的密串
#print(a.digest()) #digest()获取加密对象里加密后的密串二进制 #输出
# 5a77aa311064578b110245bf47dc381caa16fa00a8b3de6eb28a9853e90467fa011ec412ab54d4dae135b752a383391a222a17a2b52de5d76f3c124153889235
第三十七节,hashlib加密模块的更多相关文章
- 第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS
第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 ...
- centos shell编程3【告警系统】 没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh disk.sh 第三十七节课
centos shell编程3[告警系统] 没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh disk.sh 第三十七 ...
- 风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二)
风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二) 05后缀名黑名单校验之上传.htaccess绕过 还是使用黑名单,禁止上传所有web容器能解析的脚本文件的后缀 $is_upload = ...
- python 基础(十七)--hashlib加密模块
hashlib加密模块 两种方式使用 字符串是中文时需要先编码成utf-8 常用加密算法:md5,sha1(已被破解)等... >>> a= hashlib.md5() >&g ...
- 第三十七节、人脸检测MTCNN和人脸识别Facenet(附源码)
在说到人脸检测我们首先会想到利用Harr特征提取和Adaboost分类器进行人脸检测(有兴趣的可以去一看这篇博客第九节.人脸检测之Haar分类器),其检测效果也是不错的,但是目前人脸检测的应用场景逐渐 ...
- 第二百三十七节,Bootstrap图标菜单按钮组件
Bootstrap图标菜单按钮组件 学习要点: 1.小图标组件 2.下拉菜单组件 3.按钮组组件 4.按钮式下拉菜单 本节课我们主要学习一下 Bootstrap 的三个组件功能:小图标组件.下拉菜单组 ...
- [extjs5学习笔记]第三十七节 Extjs6预览版都有神马新东西
本文在微信公众号文章地址:微信公众号文章地址 本文地址:http://blog.csdn.net/sushengmiyan/article/details/45190485 [TOC] 在Ext JS ...
- 第一百三十七节,JavaScript,封装库---修缮拖拽
JavaScript,封装库---修缮拖拽 修缮拖拽 /** tuo_zhuai()方法,将一个弹窗元素实现拖拽功能 * 注意:有参设置拖拽点区块,只有弹窗的这个拖拽点区块才能拖拽,无参整个弹窗可以拖 ...
- 第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置
第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置 主题设置是在xadmin\plugins\themes.py这个文件 默认xadmin是通过下面这 ...
随机推荐
- 常用python处理try except异常的三种方式
如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序: try: 语句1 语句2 . . 语句N except ...
- JavaScript 执行环境(执行上下文) 变量对象 作用域链 上下文 块级作用域 私有变量和特权方法
总结自<高程三>第四章 理解Javascript_12_执行模型浅析 JS的执行环境与作用域 javascript高级程序第三版学习笔记[执行环境.作用域] 在javascript ...
- win10系统 L2TP连接尝试失败:ERROR因为安全层在初始化与远程计算机的协商时遇到了一个处理错误
1 确保IPsec Policy Agent服务已启动 2 确保路由和远程访问(Routing and Remote Access)和远程访问连接管理器服务(Remote Access Connect ...
- sql 根据字段查询不同表
SELECT snFundType,snBusinessType, THEN (select vcPaySerialNo from aa where vcSerialNo=a.vcRelationSe ...
- RabbitMQ持久化编码注意事项
以Java语言,MQ客户端为amqp-client作为示例 1.基本原则 direct模式,由生产者声明队列名,消费者也声明队列名 topic模式,由生产者声明交换器名,由消费者声明队列名+交换器名+ ...
- PAT 团体程序设计天梯赛-练习集 L1-019. 谁先倒
给出甲.乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒. 输入格式: 输入第一行先后给出甲.乙两人的酒量(不超过100的非负整数),以空格分隔.下一行给出一个正整数N(<=1 ...
- php获取本周周一、周日时间,上周周一、周日时间,本月第一天,本月最后一天,上个月第一天,最后一天时间
权声明:本文为博主原创文章,未经博主允许不得转载. //这个星期的星期一 // @$timestamp ,某个星期的某一个时间戳,默认为当前时间 // @is_return_timestamp ,是否 ...
- 读书笔记之ado.net entity framework
提供了对数据访问的一种抽象层,是更加易于以编程的方式来操作及管理数据 有以下几种模式:Model First, Database First, and Code First 现在主要讨论code Fi ...
- Java Object 对象创建的方式 [ 转载 ]
Java Object 对象创建的方式 [ 转载 ] @author http://blog.csdn.net/mhmyqn/article/details/7943411 显式创建 有4种显式地创建 ...
- 1、第一个SpringMVC程序
1.创建如下项目结构 2.在src下的com.springmvc下创建User.java package com.springmvc; public class User { private Stri ...