Python使用MD5加密字符串示例


Posted in Python onAugust 22, 2014

Python加密模块有好几个,但无论是哪种加密方式都需要先导入相应的加密模块然后再使用模块对字符串加密。

先导入md5加密所需模块:

import hashlib

创建md5对象
m = hashlib.md5()

生成加密串,其中 password 是要加密的字符串
m.update('password')

获取加密串
psw = m.hexdigest()

输出
print psw

执行:
5f4dcc3b5aa765d61d8327deb882cf99

为了方便,我们可以写成函数,直接传入要加密的字符串调用即可
def md5(str):

    import hashlib

    m = hashlib.md5()   

    m.update(str)

    return m.hexdigest()

调用:
str = md5('password')

如果传入的参数不是字符串会报错
str = md5(['a','b'])

报错:
Traceback (most recent call last):

  File "D:\python\demo1\c.py", line 9, in <module>

    str = md5(['a','b'])

  File "D:\python\demo1\c.py", line 5, in md5

    m.update(str)

TypeError: must be string or buffer, not list

我们可以对传入的类型检测,避免报错
def md5(str):

    import hashlib

    import types

    if type(str) is types.StringType:

        m = hashlib.md5()   

        m.update(str)

        return m.hexdigest()

    else:

        return ''

当我们传入的参数为字符串即可正确返回加密串,其他类型均返回空!
Python 相关文章推荐
python使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
python3操作mysql数据库的方法
Jun 23 Python
python中装饰器级连的使用方法示例
Sep 29 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
Pytorch .pth权重文件的使用解析
Feb 14 Python
Python venv虚拟环境配置过程解析
Jul 08 Python
Python eval函数介绍及用法
Nov 09 Python
python 多线程爬取壁纸网站的示例
Feb 20 Python
python实现大文本文件分割成多个小文件
Apr 20 Python
python中requests库+xpath+lxml简单使用
Apr 29 Python
python可视化大屏库big_screen示例详解
Nov 23 Python
Python实现灰色关联分析与结果可视化的详细代码
Mar 25 Python
Python中让MySQL查询结果返回字典类型的方法
Aug 22 #Python
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
Aug 22 #Python
Python with的用法
Aug 22 #Python
Tornado服务器中绑定域名、虚拟主机的方法
Aug 22 #Python
python with statement 进行文件操作指南
Aug 22 #Python
Python中还原JavaScript的escape函数编码后字符串的方法
Aug 22 #Python
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 #Python
You might like
加速XP搜索功能堪比vista
2007/03/22 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
美国校服网上商店:French Toast
2019/10/08 全球购物
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
do you have any Best Practice for testing
2016/06/04 面试题
Java程序开发中如何应用线程
2016/03/03 面试题
传媒专业推荐信范文
2013/11/23 职场文书
教师考察材料范文
2014/06/03 职场文书
2014中考励志标语
2014/06/05 职场文书
党建工作整改措施
2014/10/28 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
python前后端自定义分页器
2022/04/13 Python