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脚本生成Android SALT扰码的方法
Sep 18 Python
python3访问sina首页中文的处理方法
Feb 24 Python
对于Python中线程问题的简单讲解
Apr 03 Python
Python使用numpy实现BP神经网络
Mar 10 Python
python如何使用unittest测试接口
Apr 04 Python
Python模拟百度自动输入搜索功能的实例
Feb 14 Python
Python实现京东秒杀功能代码
May 16 Python
Python range、enumerate和zip函数用法详解
Sep 11 Python
Python 复平面绘图实例
Nov 21 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
Apr 30 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
Jul 02 Python
python代码实现猜拳小游戏
Nov 30 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
杏林同学录(三)
2006/10/09 PHP
PHP类的使用 实例代码讲解
2009/12/28 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
php利用单例模式实现日志处理类库
2014/02/10 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
tensorflow训练中出现nan问题的解决
2018/02/10 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
python用Configobj模块读取配置文件
2020/09/26 Python
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
保研专家推荐信范文
2015/03/25 职场文书
行政处罚事先告知书
2015/07/01 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书