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获取文件版本信息、公司名和产品名的方法
Oct 05 Python
在Python3中使用asyncio库进行快速数据抓取的教程
Apr 02 Python
深入浅析Python字符编码
Nov 12 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
说一说Python logging
Apr 15 Python
Python ldap实现登录实例代码
Sep 30 Python
利用python求相邻数的方法示例
Aug 18 Python
Python使用Tkinter实现机器人走迷宫
Jan 22 Python
python 实现语音聊天机器人的示例代码
Dec 02 Python
Python进阶:生成器 懒人版本的迭代器详解
Jun 29 Python
django一对多模型以及如何在前端实现详解
Jul 24 Python
python3 反射的四种基本方法解析
Aug 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
利用js调用后台php进行数据处理原码
2006/10/09 PHP
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
超级简单的图片防盗(HTML),好用
2007/04/08 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
Vue 全家桶实现移动端酷狗音乐功能
2018/11/16 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
vue axios封装及API统一管理的方法
2019/04/18 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
跟老齐学Python之网站的结构
2014/10/24 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
python内存管理机制原理详解
2019/08/12 Python
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
法人授权委托书样本
2014/09/19 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
在校学生证明格式
2015/06/24 职场文书
教师个人教学反思
2016/02/23 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
Python pygame实现中国象棋单机版源码
2021/06/20 Python
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis