在使用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加密模块的更多相关文章

  1. 第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

    第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 ...

  2. 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  第三十七 ...

  3. 风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二)

    风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二) 05后缀名黑名单校验之上传.htaccess绕过 还是使用黑名单,禁止上传所有web容器能解析的脚本文件的后缀 $is_upload = ...

  4. python 基础(十七)--hashlib加密模块

    hashlib加密模块 两种方式使用 字符串是中文时需要先编码成utf-8 常用加密算法:md5,sha1(已被破解)等... >>> a= hashlib.md5() >&g ...

  5. 第三十七节、人脸检测MTCNN和人脸识别Facenet(附源码)

    在说到人脸检测我们首先会想到利用Harr特征提取和Adaboost分类器进行人脸检测(有兴趣的可以去一看这篇博客第九节.人脸检测之Haar分类器),其检测效果也是不错的,但是目前人脸检测的应用场景逐渐 ...

  6. 第二百三十七节,Bootstrap图标菜单按钮组件

    Bootstrap图标菜单按钮组件 学习要点: 1.小图标组件 2.下拉菜单组件 3.按钮组组件 4.按钮式下拉菜单 本节课我们主要学习一下 Bootstrap 的三个组件功能:小图标组件.下拉菜单组 ...

  7. [extjs5学习笔记]第三十七节 Extjs6预览版都有神马新东西

    本文在微信公众号文章地址:微信公众号文章地址 本文地址:http://blog.csdn.net/sushengmiyan/article/details/45190485 [TOC] 在Ext JS ...

  8. 第一百三十七节,JavaScript,封装库---修缮拖拽

    JavaScript,封装库---修缮拖拽 修缮拖拽 /** tuo_zhuai()方法,将一个弹窗元素实现拖拽功能 * 注意:有参设置拖拽点区块,只有弹窗的这个拖拽点区块才能拖拽,无参整个弹窗可以拖 ...

  9. 第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置

    第三百九十七节,Django+Xadmin打造上线标准的在线教育平台—其他插件使用说,主题本地化设置 主题设置是在xadmin\plugins\themes.py这个文件 默认xadmin是通过下面这 ...

随机推荐

  1. Kinetis学习笔记(一)——基于KSDK 2.0

  2. 非常不错的MySQL优化的8条经验

    1.选取最适用的字段属性   MySQL 可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度 ...

  3. MTK平台Android中常用的路径

    开机Logo的路径: bootable\bootloader\lk\dev\logo 开机Logo图片分辨率路径: device\rq\rq6735_35gt_b_l1\ProjectConfig.m ...

  4. BuildingAndRunningUAFServerUsingMaven

    https://github.com/eBay/UAF/wiki/BuildingAndRunningUAFServerUsingMaven(CLIonly) 实现uaf的demo,使用ebay的方案 ...

  5. loadrunner 计数器

    http://wenku.baidu.com/link?url=oN2kBiABHE1xJmbmZdOmlTCz0sJ8aL3i-hVGiBjAtw-epUW7qrk4f2mAqdOeK5xXw8Sk ...

  6. 《html表格》

    1.html表格 w3c School:http://www.jb51.net/w3school/html/html_tables.htm 2.<colgroup></colgrou ...

  7. php获取本周周一、周日时间,上周周一、周日时间,本月第一天,本月最后一天,上个月第一天,最后一天时间

    权声明:本文为博主原创文章,未经博主允许不得转载. //这个星期的星期一 // @$timestamp ,某个星期的某一个时间戳,默认为当前时间 // @is_return_timestamp ,是否 ...

  8. mybatis 查询语句(按条件查询)

    <select id="getAllDitch" parameterType="xxx.xx.entity.CheckDitch" resultType= ...

  9. POJ 2413 How many Fibs?#二分+大数加法

    http://poj.org/problem?id=2413 #include<iostream> #include<cstdio> #include<cstring&g ...

  10. Codeforces Round #367 (Div. 2) C. Hard problem

    题目链接:Codeforces Round #367 (Div. 2) C. Hard problem 题意: 给你一些字符串,字符串可以倒置,如果要倒置,就会消耗vi的能量,问你花最少的能量将这些字 ...