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登录pop3邮件服务器接收邮件的方法
Apr 30 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Jun 13 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
解决Pycharm无法import自己安装的第三方module问题
May 18 Python
详解flask表单提交的两种方式
Jul 21 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
解决PyCharm同目录下导入模块会报错的问题
Oct 13 Python
阿里云ECS服务器部署django的方法
Aug 29 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
小 200 行 Python 代码制作一个换脸程序
May 12 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
Jun 23 Python
Python+Xlwings 删除Excel的行和列
Dec 19 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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
PHP EOT定界符的使用详解
2008/09/30 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
异步动态加载js与css文件的js代码
2013/09/15 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
javascript操作符&quot;!~&quot;详解
2015/02/10 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
Python随机生成手机号、数字的方法详解
2017/07/21 Python
python对常见数据类型的遍历解析
2019/08/27 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
2014年统计工作总结
2014/11/21 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书
Python语言内置数据类型
2022/02/24 Python