加密解密

Python如何使用MD5加密字符串

字号+ 作者:qianheng 来源: 2017-07-22 11:19:16 我要评论( ) 阅读:

Python加密模块有好几个,但无论是哪种加密方式都需要先导入相应的加密模块然后再使用模块对字符串加密。先导入md5加密所需模块:代码如下: ...

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

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


以上就是今天本文的全部内容,希望对大家的学习和工作有所帮助,同时希望大家多多关注,谢谢!

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章