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 相关文章推荐
gearman的安装启动及python API使用实例
Jul 08 Python
使用PDB模式调试Python程序介绍
Apr 05 Python
Python3实现从文件中读取指定行的方法
May 22 Python
Python基于回溯法子集树模板解决取物搭配问题实例
Sep 02 Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 Python
python实现socket+threading处理多连接的方法
Jul 23 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
python实现拼接图片
Mar 23 Python
Python 线性回归分析以及评价指标详解
Apr 02 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
python中pandas.read_csv()函数的深入讲解
Mar 29 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
MSN消息提示类
2006/09/05 Javascript
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
javascript 页面只自动刷新一次
2009/07/10 Javascript
js中if语句的几种优化代码写法
2011/03/12 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
Python中的zip函数使用示例
2015/01/29 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
几种实用的pythonic语法实例代码
2018/02/24 Python
Python入门必须知道的11个知识点
2018/03/21 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
python实现图片上添加图片
2019/11/26 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
班子四风对照检查材料思想汇报
2014/09/29 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python