需要用到的模块有系统自带的hashlib、base64、hmac,以及
第三方模块pyCrypto
1、MD5加密import hashlib
def md5(data):
m = hashlib.md5()
m.update(data)
return m.hexdigest()
2、SHA256加密
SHA256也称为HMAC_SHA256,hmac是Hash-based Message Authentication Code的简写,就是指哈希消息认证码,包含有很多种哈希加密算法,sha256是其中一种。import hashlib,base64,hmac
def hmac_sha256_encrypt(message,secret):
message = bytes(message).encode('utf-8')
secret = bytes(secret).encode('utf-8')
signature = base64.b64encode(hmac.new(secret, message, digestmod=hashlib.sha256).digest())
return signature
3、RSA加解密
加密:from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5
from Crypto.PublicKey import RSA
import base64,os
def rsa_encrypt(message):
pem_path = os.path.join(os.path.dirname(os.path.dirname(__file__)),"exts","public.pem")
with open(pem_path) as f:
key = f.read()
rsakey = RSA.importKey(key)
cipher = Cipher_pkcs1_v1_5.new(rsakey)
cipher_text = base64.b64encode(cipher.encrypt(message))
return cipher_text
解密:from Crypto import Random
from Crypto.Cipher import PK