加密算法分类:
1-哈希算法
2-对称加密算法
3-非对称加密算法
4-Base64编码
python中常用的数据加密算法:
1-MD5加密算法(哈希)
2-SHA256加密算法(哈希)
3-Base64编码
4-RSA加密算法(非对称加密)
由于加密算法的特点不同,所以使用的场合也不同。
1-用户登录,一般采用MD5算法、RSA算法
2-数据完整性校验,一般采用MD5算法
3-Token,一般采用Base64编码
MD5加密
import hashlib
def get_md5(obj):
# 实例化加密对象
md5=hashlib.md5()
# 进行加密操作
md5.update(obj.encode('utf-8'))
# 返回加密后的结果
return md5.hexdigest()
print(get_md5('111111'))
# 96e79218965eb72c92a549dd5a330112
SHA256加密
import hashlib
def get_sha256(obj):
# 1-1实例化加密对象
sha256=hashlib.sha256()
# 1-2进行加密
sha256.update(obj.encode('utf-8'))
# 1-3返回加密后的结果
return sha256.hexdigest()
print(get_sha256('111111'))
#bcb15f821479b4d5772bd0ca866c00ad5f926e3580720659cc80d39c9d09802a
Base64编码
import base64
def get_base64(obj):
#1-1 编码
Base64=base64.b64encode(obj.encode('utf-8'))
print('编码后的结果为:',Base64)
#1-2 解码
bstr=base64.b64decode(Base64)
print('解码后的字节码:',bstr)
print('解码后:',bstr.decode('utf-8'))
get_base64('111111')
# 编码后的结果为: b'MTExMTEx'
# 解码后的字节码: b'111111'
# 解码后: 111111
RSA加密
import rsa
def get_rsa(obj):
#1-1 实例化加密对象
(pubkey,privkey)=rsa.newkeys(1024)
#1-2 公钥加密1
pwd1=rsa.encrypt(str.encode('utf-8'),pubkey)
print('加密后结果1为:',pwd1.hex())
#1-3 私钥解密1
depwd1=rsa.decrypt(pwd1,privkey)
print('解密后的结果1为:',depwd1.decode())
get_rsa('111111')
# 加密后结果1为: 5be88fe6e17fd4286eec97f6ac528682b8a709a359c16545c0a1c692480c74471175241a4f3396792621930d773628b4443fcb790470d92fbb4511d51e5621ca737473d0c8d91c58276370f46103fdcfd2adefb697a60b0ed10ca68e0b015ad7f9584e3067ecd40cd3009d6d6bf5b98873880f12a88244e09f707a00b9e47f53
# 解密后的结果1为: utf-8