Python使用MD5加密字符串示例_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

时间: 2024-10-09 00:12:58

Python使用MD5加密字符串示例_python的相关文章

Python/Python3 MD5加密实例学习

Python3进行MD5加密 首先是导入MD5加密所需模块: import hashlib 然后创建md5对象: m = hashlib.md5() 传入需要加密的字符串进行MD5加密: m.update("str4MD5Encode") 然后就可以获取到经过MD5加密的字符串了: encodeStr = m.hexdigest()print encodeStr 输出结果为: f8fd73cf519e6f11513d505b9dd33541 当然,为了代码重用,我们可以将这几句简单的代

iOS中使用MD5加密字符串_IOS

1,新建NSString的分类,记得添加加密所需的头文件#import <CommonCrypto/CommonDigest.h> , NSString+MD5.h: #import <Foundation/Foundation.h> #import <CommonCrypto/CommonDigest.h> @interface NSString (MD5) + (NSString *)md5To32bit:(NSString *)str; @end 2,编写加密方法

Java生成MD5加密字符串代码实例_java

      (1)一般使用的数据库中都会保存用户名和密码,其中密码不使用明码保存.     有时候用MD5密码,很多语言都提供了将字符串生成为MD5密码的方法或函数.MD5的加密算法是公开的.     有时候也可以用自己的字符串加密算法,这种加密算法是只有自己知道的. (2)破解MD5的过程就是先算好大量或者所有可能的字符串的MD5数值,之后进行查询就可以破解.虽然有些网站规定了密码的位数在6~20位之间,但是要事先计算这么多是字符串并有效的组织存储.查询还是相当麻烦,相当慢的. 因为MD5的位

Oracle定义DES加密解密及MD5加密函数示例_oracle

(1)DES加密函数 create or replace function encrypt_des(p_text varchar2, p_key varchar2) return varchar2 is v_text varchar2(4000); v_enc varchar2(4000); raw_input RAW(128) ; key_input RAW(128) ; decrypted_raw RAW(2048); begin v_text := rpad( p_text, (trunc

快速排序的算法思想及Python版快速排序的实现示例_python

快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序.它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod). 1.分治法的基本思想 分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题.递归地解这些子问题,然后将这些子问题的解组合为原问题的解. 2.快速排序的基本思想 设当前待排序的无序区为R[low..high],利用分治法可将快速排序的基本思想描述为: (1)分解: 在R[low..high]中任选一个记录作为基准(

跟老齐学Python之玩转字符串(3)_python

字符串就是一个话题中心. 给字符串编号 在很多很多情况下,我们都要对字符串中的每个字符进行操作(具体看后面的内容),要准确进行操作,必须做的一个工作就是把字符进行编号.比如一个班里面有50名学生,如果这些学生都有学号,老师操作他们将简化很多.比如不用专门找每个人名字,直接通过学号知道谁有没有交作业. 在python中按照这样的顺序对字符串进行编号:从左边第一个开始是0号,向下依次按照整数增加,为1.2...,直到最后一个,在这个过程中,所有字符,包括空格,都进行变好.例如: Hello,wor

python代码制作configure文件示例_python

在lua中,一直用lua作为config文件,或承载数据的文件 - 好处是lua本身就很好阅读,然后无需额外写解析的代码,还支持在configure文件中读环境变量,条件判断等. 在lua中通过loadfile, setfenv实现) python: cat config.py bar = 10 foo=100 cat python_as_config.py: ns = {} execfile('config.py', ns) print "\n".join(sorted(dir(ns

python实现保存网页到本地示例_python

学习python示例:实现保存网页到本地 复制代码 代码如下: #coding=utf-8__auther__ = 'xianbao'import urllibimport osdef reporthook(blocks_read, block_size, total_size): if not blocks_read:  print '打开连接'  return if total_size < 0:  print "%d正在读取(%dbytes完成)"%(blocks_read

python实现绘制树枝简单示例_python

python是解释型语言,本文介绍了Python下利用turtle实现绘图功能的示例,本例所示为Python绘制一个树枝,具体实现代码如下:      python是解释型语言,本文介绍了Python下利用turtle实现绘图功能的示例,本例所示为Python绘制一个树枝,具体实现代码如下: import turtle def branch(length,level): if level<=0: return turtle.forward(length) turtle.left(45) bran