python中的hashlib和base64加密模块使用实例


Posted in Python onSeptember 02, 2014

看到好几位博主通过对模块的各个击破学习python,我也效法一下,本篇说一下python中加密涉及到的模块。

hashlib

hashlib模块支持的加密算法有md5 sha1 sha224 sha256 sha384 sha512(加密原理请参考此处),使用起来也很简单。

以md5加密为例,有两种方法:

一、 追加模式

代码示例:

 import hashlib #引入hashlib模块

 

 mm = hashlib.md5() #创建一个md5对象

 mm.update("Hello") #通过update方法加密文本

 mm.update(" world!") #追加,这两句相当于 mm.update("Hello world!")

 print mm.digest() #输出加密后的二进制数据

 print mm.hexdigest() #输出加密后的十六进制数据

二、 一句话

如果不需要追加,只用加密一段文本,可用这种形式,代码示例:

 import hashlib

 

 hashlib.new("md5","Hello world!").digest()

此外,md5等算法对象还提供了digest_size和block_size等属性,指示加密后文本的大小。

对于其他的加密算法,只要在代码中替换「md5」即可,不再举例。

base64

这个模块提供的加密算法并不安全,但十分简单,有时候会用到。
代码示例:

import base64
a = "Hello world!"

b = base64.encodestring(a) #加密

c = base64.decodestring(b) #解密
print a==c

python还有诸多的第三方模块提供更多的加密方式,以后学到的时候再说。
Python 相关文章推荐
好用的Python编辑器WingIDE的使用经验总结
Aug 31 Python
深入理解Python3 内置函数大全
Nov 23 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
python 日期操作类代码
May 05 Python
python之mock模块基本使用方法详解
Jun 27 Python
python异步编程 使用yield from过程解析
Sep 25 Python
详解Django CAS 解决方案
Oct 30 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
解决python运行启动报错问题
Jun 01 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 Python
用Python制作灯光秀短视频的思路详解
Apr 13 Python
python多线程编程中的join函数使用心得
Sep 02 #Python
python中的函数用法入门教程
Sep 02 #Python
python爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 #Python
python爬虫入门教程之糗百图片爬虫代码分享
Sep 02 #Python
python批量同步web服务器代码核心程序
Sep 01 #Python
寻找网站后台地址的python脚本
Sep 01 #Python
python批量修改文件名的实现代码
Sep 01 #Python
You might like
最贵的咖啡是怎么产生的,它的风味怎么样?
2021/03/04 新手入门
PHP Smarty生成EXCEL文档的代码
2008/08/23 PHP
PHP编码转换
2012/11/05 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
jQuery Easyui 下拉树组件combotree
2016/12/16 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
2017/01/13 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
餐饮业会计岗位职责
2013/12/19 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers