Python使用MD5加密字符串示例

yipeiwu_com5年前Python基础

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 ''

当我们传入的参数为字符串即可正确返回加密串,其他类型均返回空!

PS:本站还提供了一款在线加密工具供大家参考使用:

MD5在线加密工具:http://tools.jb51.net/password/CreateMD5Password

相关文章

python实现的多线程端口扫描功能示例

python实现的多线程端口扫描功能示例

本文实例讲述了python实现的多线程端口扫描功能。分享给大家供大家参考,具体如下: 下面的程序给出了对给定的ip主机进行多线程扫描的Python代码 #!/usr/bin/env...

Python字典遍历操作实例小结

本文实例讲述了Python字典遍历操作。分享给大家供大家参考,具体如下: 1 遍历键值对 可以使用一个 for 循环以及方法 items() 来遍历这个字典的键值对。 dict =...

pytorch加载自定义网络权重的实现

在将自定义的网络权重加载到网络中时,报错: AttributeError: 'dict' object has no attribute 'seek'. You can only tor...

Python 数据处理库 pandas进阶教程

Python 数据处理库 pandas进阶教程

前言 本文紧接着前一篇的入门教程,会介绍一些关于pandas的进阶知识。建议读者在阅读本文之前先看完pandas入门教程。 同样的,本文的测试数据和源码可以在这里获取: Github:p...

python轻松实现代码编码格式转换

  最近刚换工作不久,没太多的时间去整理工作中的东西,大部分时间都在用来熟悉新公司的业务,熟悉他们的代码框架了,最主要的是还有很多新东西要学,我之前主要是做php后台开发的,来这边之后还...