python rsa-oaep加密的示例代码


Posted in Python onSeptember 23, 2020

代码:

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 rsa-oaep加密的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python下singleton模式的实现方法
Jul 16 Python
python使用装饰器和线程限制函数执行时间的方法
Apr 18 Python
详细介绍Python中的偏函数
Apr 27 Python
Python中关键字nonlocal和global的声明与解析
Mar 12 Python
Flask框架web开发之零基础入门
Dec 10 Python
python3安装speech语音模块的方法
Dec 24 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 Python
python基础教程之while循环
Aug 14 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
Feb 10 Python
Python3变量与基本数据类型用法实例分析
Feb 14 Python
Python 基于jwt实现认证机制流程解析
Jun 22 Python
pytorch显存一直变大的解决方案
Apr 08 Python
python删除文件、清空目录的实现方法
Sep 23 #Python
详解Anaconda 的安装教程
Sep 23 #Python
如何使用pycharm连接Databricks的步骤详解
Sep 23 #Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
Sep 23 #Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 #Python
python通过函数名调用函数的几种场景
Sep 23 #Python
Python如何执行系统命令
Sep 23 #Python
You might like
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
十天学会php之第四天
2006/10/09 PHP
php查看当前Session的ID实例
2015/03/16 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
javascript页面加载完执行事件代码
2014/02/11 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
python动态加载变量示例分享
2014/02/17 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
彻底理解Python中的yield关键字
2019/04/01 Python
详解Python用户登录接口的方法
2019/04/17 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
总务岗位职责
2013/11/19 职场文书
函授教育个人学习的自我评价
2013/12/31 职场文书
大学毕业自我评价
2014/02/02 职场文书
产品生产计划书
2014/05/07 职场文书
电教室标语
2014/06/20 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
政风行风评议心得体会
2014/10/21 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
36个正则表达式(开发效率提高80%)
2021/11/17 Javascript