生成的公钥私钥格式是固定的,秘钥中间无空格无换行,秘钥末尾也空格无换行。
公钥长这样,一般比较短。
私钥长这样,一般比较长。
2.使用公钥加密
import base64
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1\_v1\_5 as Cipher\_pkcs1\_v1\_5
# rsa加密
def rsa\_encrypt(message):
public_key = """-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfgDPRwaAYZFyNg7EyjMZOnjIR
vPPPu4sC6Iu25SDK9z6aE/yKwNSXI4JF/7gsFlXpV8rjB/SfIjNAunHy0++2djAT
1aWJYZSTujBkPblqR/NxRTilTwoc/oRjLHLF3RuoPOIL4on303Uc9Jgzj1CKbIDU
SSk4+gy2rfs2SUZ/uwIDAQAB
-----END PUBLIC KEY-----"""
rsa_key = RSA.importKey(public_key)
cipher = Cipher\_pkcs1\_v1\_5.new(rsa_key) # 创建用于执行pkcs1_v1_5加密或解密的密码
cipher_text = base64.b64encode(cipher.encrypt(message.encode("utf-8")))
return cipher_text.decode("utf-8")
if __name__ == "\_\_main\_\_":
message = "Hello, 你好, 这是一段RSA加密测试代码!"
result = rsa\_encrypt(message)
print(result)
跑一下看看结果:
jVzxl5vJ9OsDHqii/uPTCoujxSNFQOBOIvPDno9er6OcMgPhnbqfjnoEfLCSndghPT9x5vUKTC/jy8MK8TezmUVJSho9AVRi/Z3GKGjMXWFRTOfe18K6Ml6U0G