第三十七节,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是通过下面这 ...
随机推荐
- Kinetis学习笔记(一)——基于KSDK 2.0
- 非常不错的MySQL优化的8条经验
1.选取最适用的字段属性 MySQL 可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度 ...
- MTK平台Android中常用的路径
开机Logo的路径: bootable\bootloader\lk\dev\logo 开机Logo图片分辨率路径: device\rq\rq6735_35gt_b_l1\ProjectConfig.m ...
- BuildingAndRunningUAFServerUsingMaven
https://github.com/eBay/UAF/wiki/BuildingAndRunningUAFServerUsingMaven(CLIonly) 实现uaf的demo,使用ebay的方案 ...
- loadrunner 计数器
http://wenku.baidu.com/link?url=oN2kBiABHE1xJmbmZdOmlTCz0sJ8aL3i-hVGiBjAtw-epUW7qrk4f2mAqdOeK5xXw8Sk ...
- 《html表格》
1.html表格 w3c School:http://www.jb51.net/w3school/html/html_tables.htm 2.<colgroup></colgrou ...
- php获取本周周一、周日时间,上周周一、周日时间,本月第一天,本月最后一天,上个月第一天,最后一天时间
权声明:本文为博主原创文章,未经博主允许不得转载. //这个星期的星期一 // @$timestamp ,某个星期的某一个时间戳,默认为当前时间 // @is_return_timestamp ,是否 ...
- mybatis 查询语句(按条件查询)
<select id="getAllDitch" parameterType="xxx.xx.entity.CheckDitch" resultType= ...
- POJ 2413 How many Fibs?#二分+大数加法
http://poj.org/problem?id=2413 #include<iostream> #include<cstdio> #include<cstring&g ...
- Codeforces Round #367 (Div. 2) C. Hard problem
题目链接:Codeforces Round #367 (Div. 2) C. Hard problem 题意: 给你一些字符串,字符串可以倒置,如果要倒置,就会消耗vi的能量,问你花最少的能量将这些字 ...