python中如何实现加密
发布时间:2026-05-24 21:53:02

1、Base64加密用于Python:
Python内置的base64模块可以直接编解base64
注意:用于base64编码的字符要么是ASCII包含的字符,要么是二进制数据
#-*-coding:UTF-8-*- __author__='rxz' importbase64 a=base64.b64encode(b"helloworld") print(a)#b'agvsbg8gd29ybgQ' b=base64.b64decode(a) print(b)#b"helloworld"
2、MD5加密在Python中使用
由于MD5模块在python3中被移除,因此在python3中使用hashlib模块进行md5操作
#-*-coding:UTF-8-*-
__author__='rxz'
importhashlib
#待加密信息
str='你好,中国'
#创建md5对象,
#md5对象,md5不能反解,但加密是固定的,关系是一一对应的,所以有缺陷,可以碰撞
hl=hashlib.md5()
#要加密哪个字符串,就放这里
#encode必须在这里声明
#假如写法是hl.update(str)报错为:Unicode-objectsmustbeencodedbeforehashing
hl.update(str.encode(encoding='utf-8'))
print('MD5加密前为'+str)
#hl.hexdigest()#获得加密字符串
print('加密后的MD5为'+hl.hexdigest())
"""
MD5加密前:你好,中国
MD5加密后,560a6b11a85d436acfa4bd7f4462f4
"""
hash3=hashlib.md5(bytes('abd',encoding='utf-8'))
'''
如果没有参数,md5遵守规则,生成相同的对应关系,如果添加参数,
在原加密的基础上再加密一层,这样参数只有自己知道,防止被撞库,
因为别人永远拿不到这个参数
'''
hash3.update(bytes("admin",encoding="utf-8"))
print(hash3.hexdigest()#9aea3c0a6c5155ca4d0a5e9b89deded3、使用hmac加密
python中还有一个hmac模块,它处理我们创建key和内容,然后加密
该模块的加密方法与上述方法相似,首先将数据存储在字典中。
importhmac
hm=hmac.new(b'abc')
hm=hmac.new('你好,中国'.encode(encoding='utf-8'),b'bads')
print(hm.digest())
print(hm.hexdigest())
"""
b'\xc8;\x0c\x0bxd42\xc37X\xbc\xfbf=RP'
c83b0c0bd432c37d05bcfb63d525
"""注:加密数据时,必须指定数据编码格式。
4、使用sha1 加密
Secureeesha1的全称是Secure Hash Algorithm(安全哈希算法) 。基于MD5的SHA1,加密后的数据长度更长,
输入长度小于264,产生长度为160bit的散列值。比MD5多32位。
所以SHA1比MD5更安全,但是SHA1的运行速度比MD5慢。
#-*-coding:UTF-8-*-
__author__='rxz'
importhashlib
str="中国你好"
a=hashlib.sha1(str.encode("utf-8")).hexdigest()
print("sha1加密前为:",str)
print("加密前后sha1:",a)
"""
sha1加密前:你好,中国
加密前后sha1:3e6c570876775d0031dbf66247ed1054d4ef695e
"""Python教程推荐学习。
