Python RSA-OAEP 加密解密完整示例

凌晨两点半
凌晨两点半
发布时间:2026-10-14| 4人浏览过
原创

本文提供 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 加密技术的文章。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。