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 相关文章推荐
linux系统使用python监控apache服务器进程脚本分享
Jan 15 Python
Python Web程序部署到Ubuntu服务器上的方法
Feb 22 Python
Python3.7实现中控考勤机自动连接
Aug 28 Python
python自动发邮件总结及实例说明【推荐】
May 31 Python
python 直接赋值和copy的区别详解
Aug 07 Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 Python
keras tensorflow 实现在python下多进程运行
Feb 06 Python
Python写出新冠状病毒确诊人数地图的方法
Feb 12 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
Python实现汇率转换操作
May 03 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 Python
python 基于Apscheduler实现定时任务
Dec 15 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中\r \r\n \t的区别示例介绍
2014/02/08 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
php注册登录系统简化版
2020/12/28 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
2016/04/17 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
关于vue中的ajax请求和axios包问题
2018/04/19 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
Python3.2中的字符串函数学习总结
2015/04/23 Python
分享Pycharm中一些不为人知的技巧
2018/04/03 Python
python中实现控制小数点位数的方法
2019/01/24 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
eclipse创建python项目步骤详解
2019/05/10 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
2019/08/17 Python
python解释器spython使用及原理解析
2019/08/24 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
linux面试题参考答案(6)
2014/08/29 面试题
医学护理系毕业生求职信
2013/10/01 职场文书
历史系自荐信范文
2013/12/24 职场文书
大学生职业规划前言模板
2013/12/27 职场文书
汇源肾宝广告词
2014/03/20 职场文书
学校火灾防控方案
2014/06/09 职场文书
土建施工员岗位职责
2014/07/16 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书
初一年级组工作总结
2015/08/12 职场文书
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript
千万级用户系统SQL调优实战分享
2022/03/03 MySQL
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫