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中Collections模块的Counter容器类使用教程
May 31 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 Python
Python实现的选择排序算法示例
Nov 29 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
TensorFlow索引与切片的实现方法
Nov 20 Python
Tensorflow 多线程与多进程数据加载实例
Feb 05 Python
Python try except异常捕获机制原理解析
Apr 18 Python
基于python实现matlab filter函数过程详解
Jun 08 Python
属性与 @property 方法让你的python更高效
Sep 21 Python
详解查看Python解释器路径的两种方式
Oct 15 Python
Python类方法总结讲解
Jul 26 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
Yii中render和renderPartial的区别
2014/09/03 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
Javascript实现的分页函数
2007/02/07 Javascript
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
javascript Array.prototype.slice使用说明
2010/10/11 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
2013/08/12 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
Python struct.unpack
2008/09/06 Python
Python栈类实例分析
2015/06/15 Python
python爬取51job中hr的邮箱
2016/05/14 Python
python列表的增删改查实例代码
2018/01/30 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
全球游戏Keys和卡片市场:GamesDeal
2018/03/28 全球购物
高中自我鉴定范文
2013/11/03 职场文书
中秋节国旗下演讲稿
2014/09/05 职场文书
2015年党支部书记工作总结
2015/05/21 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript