Python RSA-OAEP 加密解密完整示例
本文提供 Python 中使用 PyCryptodome 库进行 RSA-OAEP 加密与解密的完整代码示例。内容涵盖如何生成 1024 位 RSA 密钥对、导出公钥与私钥,以及如何利用 PKCS1_OAEP 方案对字符串进行加密并还原。代码包含详细的注释,适用于需要实现非对称加密功能的 Python 开发者参考。
Python RSA-OAEP 加密解密代码示例
以下是使用 Python 实现 RSA-OAEP 加密与解密的完整代码示例。该示例展示了如何生成密钥对、导出密钥,以及执行加密和解密操作。
密钥生成与加解密实现
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
import base64
rsa_key_pair = RSA.generate(1024)
pubkey = rsa_key_pair.publickey().export_key()
privkey = rsa_key_pair.export_key()
print(pubkey.decode())
print(privkey.decode())
# 公钥加密
text = "hello world"
rsa_pubkey = RSA.import_key(pubkey)
cipher_pub = PKCS1_OAEP.new(rsa_pubkey)
ciphervalue_enc = base64.b64encode(cipher_pub.encrypt(text.encode("utf-8")))
print("加密内容:\n{}".format(ciphervalue_enc.decode()))
#私钥解密
rsa_privkey = RSA.import_key(privkey)
cipher_priv = PKCS1_OAEP.new(rsa_privkey)
ciphervalue_dec = cipher_priv.decrypt(base64.b64decode(ciphervalue_enc))
print("解密内容:\n{}".format(ciphervalue_dec.decode()))
代码运行输出结果
运行上述代码后,终端将输出生成的公钥、私钥内容,以及加密后的密文和解密后的原始明文。具体输出结果如下所示:
-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCk5RDTc88/13NClCz2u8JbERQZ 5+5oqdic9LkqfpHXguxBd31j6sV9zBurnT85O6+08D/eRCZj7DA3vR2pXziglDaJ kUXNjuX0403NXHyNFugjbZyGfwr3r1V8B7ZCcyCZNW4V28naM0NF9jcVgb6haDQP 7k5ht92sQ7IJiXROKQIDAQAB -----END PUBLIC KEY----- -----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQCk5RDTc88/13NClCz2u8JbERQZ5+5oqdic9LkqfpHXguxBd31j 6sV9zBurnT85O6+08D/eRCZj7DA3vR2pXziglDaJkUXNjuX0403NXHyNFugjbZyG fwr3r1V8B7ZCcyCZNW4V28naM0NF9jcVgb6haDQP7k5ht92sQ7IJiXROKQIDAQAB AoGARVXAVnlayuhoIbW2lmTq22n5/s6kU8QfPhg1B+ZCotD9UKXSxsHAGx5JAEdV f1ZWkol3AZm8XsXAnJ9bqo1MfKQcPLZRCG3FMQ6UUyse/R0Wc+ofzP8roM6y9qsG C8WlM5lSojyz+lgUH5+CaEtZW43kHitt/jzK0byj2An0c1UCQQDH6kDFh43mLFz0 n4q6VSnCrCGTTuEsnnWGSlNafFyUURgeA6AWkfJNphErNBJul/thq6lXf9Hs61sd CI1WtDDTAkEA0yevHkbD4hV9eh4aW5r6sAgDEtpp3gaUoB9xyayeuO1GoowtTBhz NO+GttV+XyxFELCNBBwNIhpvVFWz/q+HkwJBAMGLuIPEtgum3aPzpiK5+sE/Vw4/ 6t8A1rVZ1hMfnZ32WQwN5HqVd+nXIn4aXtH1kGnCASP2Wu4t+jtEoVnVAAMCQH9c zmnqsThrUfYYtjlO76rCCmiSyYycV4WFsfK9ZjeRFyvwdVoS3Vqup4kcmU76uuXo OAakjN9nJoOt9hXG9nUCQQCJc398MvDedu8igFluMx8Cgt6s3Srwp/EZvcBK915u e5JvZ6uds64G9ooX+8mire50zpn7UbwPZzbEDffNYbIG -----END RSA PRIVATE KEY----- 加密内容: Bod1WNuWMRky/bCZdNvWuCBYdMfejsEWqm08QwNxff3enwm1xxW6z/jEhs3trT8dmKgvX20wYSccH/7Ekcc/09Jnd6N3AuiCE922U5OdFLqOFhkORdQZP6uWisiiW7XoYNoY/Hzr8ZH+7s5/sw2w0MIpRyD+4Wlooxd8UDgThWA= 解密内容: hello world
以上即为 Python 中 RSA-OAEP 加密与解密功能的完整示例代码。如需了解更多相关技术细节,建议查阅本站其他关于 Python 加密技术的文章。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













