加密算法分类:
1-哈希算法
2-对称加密算法
3-非对称加密算法
4-Base64编码
python中常用的数据加密算法:
1-MD5加密算法(哈希)
2-SHA256加密算法(哈希)
3-Base64编码
4-RSA加密算法(非对称加密)
由于加密算法的特点不同,所以使用的场合也不同。
1-用户登录,一般采用MD5算法、RSA算法
2-数据完整性校验,一般采用MD5算法
3-Token,一般采用Base64编码
import hashlib def get_md5(obj): # 实例化加密对象 md5=hashlib.md5() # 进行加密操作 md5.update(obj.encode('utf-8')) # 返回加密后的结果 return md5.hexdigest() print(get_md5('111111')) # 96e79218965eb72c92a549dd5a330112
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
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
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