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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
详细解析Python中的变量的数据类型
May 13 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
如何使用Flask-Migrate拓展数据库表结构
Jul 24 Python
python with (as)语句实例详解
Feb 04 Python
python生成任意频率正弦波方式
Feb 25 Python
Python基础之字符串常见操作经典实例详解
Feb 26 Python
pip install命令安装扩展库整理
Mar 02 Python
Windows安装Anaconda3的方法及使用过程详解
Jun 11 Python
python 对图片进行简单的处理
Jun 23 Python
Python 全局空间和局部空间
Apr 06 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中计算时间差的几种方法
2009/12/31 PHP
一步一步学习PHP(1) php开发环境配置
2010/02/15 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
php使用PDO获取结果集的方法
2017/02/16 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
微信小程序 ecshop地址三级联动实现实例代码
2017/02/28 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
信息滚动效果的实例讲解
2017/09/18 Javascript
[02:32]【DOTA2亚洲邀请赛】iceice,梦开始的地方
2017/03/13 DOTA
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
python3调用R的示例代码
2018/02/23 Python
python 中如何获取列表的索引
2019/07/02 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
加拿大专业美发产品购物网站:Chatters
2021/02/28 全球购物
如何在存储过程中使用Loop
2016/01/05 面试题
招商业务员岗位职责
2013/12/16 职场文书
农村产权制度改革实施方案
2014/03/21 职场文书
党员大会主持词
2014/04/02 职场文书
给校长的建议书600字
2014/05/15 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
党员先进事迹材料
2014/12/19 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
2019年亲子运动会口号
2019/10/11 职场文书
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python