在使用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. 简单封装常用js方法

    1.uploadfiy插件封装 /* 参数:uploadID:上传控件ID url:请求后台url路径   callback:回调函数 */ uploadfiy({ uploadID: $('#btn ...

  2. bash脚本退出代码解释

    Exit Codes With Special Meanings Table E-1. Reserved Exit Codes Exit Code Number Meaning Example Com ...

  3. JavaScript 属性类型(数据属性 访问器属性)

    ECMA-2把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.” 严格来说,这就相当于说对象是一组没有特定顺序的值.对象的属性或方法都有一个名字,而每个名字映射到一个值.我们可以把E ...

  4. gridview XML

    GridView动态添加模板列   http://blog.csdn.net/wljhk2006/article/details/24723219 XML与DataTable互转类 http://bl ...

  5. Devstack single node Installation on VM

    Last three days, I want to install devstack on my virtual machine on Vmware Workstation.The VM'syste ...

  6. OGG中断后,重新同步操作

    模拟一下goldengata中断后,重新同步操作: 1.关掉源端抽取进程 GGSCI (20081122-2105) 15> info all Program Status Group Lag ...

  7. 魅族手机Listview下拉出现hold字样的奇葩问题解决方案

    前几天测试在魅族手机上测试,下拉listview,出现奇葩的hold字样,╭∩╮(︶︿︶)╭∩╮,这锅老子不背,但是问题还得解决吧,如下是对于魅族不同版本的出现这种情况的处理: 2.3之前: andr ...

  8. Linux用户相关的操作命令

    1.建用户: adduser phpq       //新建phpq用户 passwd phpq        //给phpq用户设置密码 2.建工作组 groupadd test      //新建 ...

  9. HDU3791二叉搜索树(二叉树)

    Problem Description 判断两序列是否为同一二叉搜索树序列   Input 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束.接下去一行是一 ...

  10. CSS3秘笈复习:第七章

    1.边距冲突: 当元素的bottom margin碰到另一个元素的top margin可能会产生一些怪异的计算,浏览器会忽略小的那个值而使用大的值. 2.边距折叠: 假设要在警告框里插入一个标题,并且 ...