python3 使用RSA 加密

最近公司项目需要用到RSa进行加密、

import rsa

import base64

def encrypt(self,data):
public_key_value ='''
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIv+drAd9Tv9WgSu9pEM3LPTbJAQ6CT4KdVVTxxZ9AY8h0cDSdlfzJZkjv1q7K7SPsajwoExXf4fQZl7n0OENwMCA==
-----END PUBLIC KEY-----
'''
private_key ='''-----BEGIN RSA PRIVATE KEY-----
MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAi/52sB31O/1aQzcsskBDoJPgp1VVPHFyHRwNJ2V/MlmSO/WrsrtI+xqPCgTFd/hXufQ4Q3AwIDAQABAkAY++DSrYYGnsBh9Zera1A4B5NoYpwLfP56RC9KMAOM2RwMqizZmAVmIdFl2gSYxkQxzn1T60kzJ1aq0KIN/zUBAiEA306hOO5Ky+xyELhYwKJtJrecVE3cWWc1K6ZrUHyxbjsCIQCgfVMmMsR6Obk+tvzuWecWIYf5h4sDOQww3j3nJVnl2QIgBGHAnCNg6Ft9aYKUi0MkrSvRL35Popl5259qX6vyt10CIAY3tL/3GYuOrvGSD0yAqSY/WFA/gxA15pYCFi3dUZVJAiEA127BTg/iYElzgIDzLJi32ZR/0/huE+nwCY9YwXrbW1w=
-----END RSA PRIVATE KEY-----
'''
pubkey = rsa.PublicKey.load_pkcs1_openssl_pem(public_key_value.encode()) #publi_key 必须要转换成pem模式
#pri_key =rsa.PrivateKey.load_pkcs1(private_key.encode()) 私钥用于解密
msg =data.encode(encoding='utf-8')
cryptedMessage = rsa.encrypt(msg, pubkey) # 字符串用公钥加密
info =base64.b64encode(cryptedMessage) #加密内容之后必须用进行解码
return info

原文地址:https://www.cnblogs.com/Neotester/p/13163026.html