python数据加密代码几个例子

发布时间:2020-11-16编辑:脚本学堂
有关python实现数据加密的一些代码,python如何实现简单数据加密,可以使用hashlib或hmac模块实现数据加密。

python数据加密代码,分别用到了hashlib模块、hmac模块,python md5加密字符串的例子。

1、hashlib
 

复制代码 代码示例:
import hashlib
#创建一个哈希对象
md = hashlib.md5()
#md = hashlib.sha1()
#md = hashlib.sha224()
#md = hashlib.sha25()
#md = hashlib.sha384()
#md = hashlib.sha512()
 

1.1 hashlib.update(arg)
1.2 hashlib.digest() #返回数字形式的哈希
1.3 hashlib.hexdigest() #返回16进制的哈希
1.4 hashlib.copy()
一般而言,用hashlib.hexdigest()即可。

2、hmac
2.1 hmac.new(key[, msg[, digestmod]])
2.2 hmac.update(msg)
2.3 hmac.digest()
2.4 hmac.hexdigest()
2.5 hmac.copy()
注意,以上message都要用bytes,使用string则不行。

python md5加密字符串的例子

python使用md5加密字符串

Python加密模块有好几个,无论哪种加密方式,都需要先导入加密模块,然后再使用模块对字符串加密。
1、先导入md5加密所需模块:
 

复制代码 代码示例:

#!/usr/bin/env python
#
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:pythondemo1c.py", line 9, in <module>
    str = md5(['a','b'])
  File "D:pythondemo1c.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 ''

当传入的参数为字符串时,便可以正确返回加密串,其他类型均返回空。