2022年 11月 4日

python常用加密算法

加密算法分类:
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13