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 变量类型及命名规则介绍
Jun 08 Python
Python深入学习之装饰器
Aug 31 Python
python计算N天之后日期的方法
Mar 31 Python
Python3.x版本中新的字符串格式化方法
Apr 24 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
Python中字符串的修改及传参详解
Nov 30 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 Python
Python3爬虫之自动查询天气并实现语音播报
Feb 21 Python
Python3+Selenium+Chrome实现自动填写WPS表单
Feb 12 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 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
谈谈PHP语法(5)
2006/10/09 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
PHP服务器页面间跳转实现方法
2012/08/02 PHP
PHP引用符&amp;的用法详细解析
2013/08/22 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
使用Jquery获取带特殊符号的ID 标签的方法
2014/04/30 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
javascript基本数据类型及类型检测常用方法小结
2016/12/14 Javascript
vue组件Prop传递数据的实现示例
2017/08/17 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
2019/11/15 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
node.js基础知识汇总
2020/08/25 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
vue实现树状表格效果
2020/12/29 Vue.js
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
django rest framework使用django-filter用法
2020/07/15 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
毕业生欢送会主持词
2014/03/31 职场文书
保护环境建议书400字
2014/05/13 职场文书
教师求职信
2014/06/17 职场文书
物流管理专业自荐信
2014/06/23 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
合作协议书模板2014
2014/09/26 职场文书
2014年建筑工作总结
2014/11/26 职场文书
幼儿园园长新年寄语
2015/08/17 职场文书
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA