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 linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
Python实现全角半角转换的方法
Aug 18 Python
Python读取ini文件、操作mysql、发送邮件实例
Jan 01 Python
python3常用的数据清洗方法(小结)
Oct 31 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
Jan 02 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
python实现将中文日期转换为数字日期
Jul 14 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
Nov 24 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
pytorch加载预训练模型与自己模型不匹配的解决方案
May 13 Python
Python 如何将integer转化为罗马数(3999以内)
Jun 05 Python
基于Python实现股票收益率分析
Apr 02 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
javascript some()函数用法详解
2014/11/13 PHP
PHP中的事务使用实例
2015/05/26 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
js 获取服务器控件值的代码
2010/03/05 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
详解vue-router基本使用
2017/04/18 Javascript
Vue中的作用域CSS和CSS模块的区别
2018/10/09 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
Python中多线程的创建及基本调用方法
2016/07/08 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
python二维键值数组生成转json的例子
2019/12/06 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
民政局办理协议离婚(范本)
2014/10/25 职场文书
2015年管理人员工作总结
2015/05/13 职场文书
公司董事任命书
2015/09/21 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS