python下读取公私钥做加解密实例详解


Posted in Python onMarch 29, 2017

python下读取公私钥做加解密实例详解

在RSA有一种应用模式是公钥加密,私钥解密(另一种是私钥签名,公钥验签)。下面是Python下的应用举例。

假设我有一个公钥文件,rsa_pub.pem, 我要读取这个公钥并用它来加密。

from M2Crypto import RSA,BIO

  fp = file('rsa_pub.pem','rb');
  pub_key_str = fp.read();
  fp.close();

  mb = BIO.MemoryBuffer(pub_key_str);
  pub_key = RSA.load_pub_key_bio(mb);

  data = '12345678';
  en_data = pub_key.public_encrypt(data,RSA.pkcs1_padding);

  ...

私钥文件rsa_private.pem, 读取私钥并用来解密

from M2Crypto import RSA,BIO

  private_key_str = file('rsa_private.pem','rb').read();
  private_key = RSA.load_key_string(private_key_str);
  data = 'sdfdjslfjaskldfjdsklfjsd';
  de_data = private_key.private_decrypt(data,RSA.pkcs1_padding);

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python科学计算环境推荐——Anaconda
Jun 30 Python
Android应用开发中Action bar编写的入门教程
Feb 26 Python
详解用python实现简单的遗传算法
Jan 02 Python
Python编写Windows Service服务程序
Jan 04 Python
基于anaconda下强大的conda命令介绍
Jun 11 Python
把pandas转换int型为str型的方法
Jan 29 Python
Django组件content-type使用方法详解
Jul 19 Python
pytorch使用指定GPU训练的实例
Aug 19 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
python 读取串口数据的示例
Nov 09 Python
Python基础之进程详解
May 21 Python
代码复现python目标检测yolo3详解预测
May 06 Python
django开发之settings.py中变量的全局引用详解
Mar 29 #Python
深入理解Python3中的http.client模块
Mar 29 #Python
Python 中迭代器与生成器实例详解
Mar 29 #Python
Python利用Beautiful Soup模块搜索内容详解
Mar 29 #Python
windows系统下Python环境搭建教程
Mar 28 #Python
Python中Django 后台自定义表单控件
Mar 28 #Python
windows上安装Anaconda和python的教程详解
Mar 28 #Python
You might like
md5 16位二进制与32位字符串相互转换示例
2013/12/30 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
js window.onload 加载多个函数的方法
2009/11/02 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
原生js实现碰撞检测
2020/03/12 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
[04:11]2014DOTA2国际邀请赛 CIS遗憾出局梦想不灭
2014/07/09 DOTA
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
python脚本内运行linux命令的方法
2015/07/02 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
python中的yield from语法快速学习
2020/11/06 Python
用CSS3写的模仿iPhone中的返回按钮
2015/04/04 HTML / CSS
优质飞蝇钓和渔具:RiverBum
2020/05/10 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
办公室驾驶员岗位职责
2013/11/15 职场文书
群众对十八届四中全会的期盼
2014/10/17 职场文书
2014年施工员工作总结
2014/11/18 职场文书
团代会邀请函
2015/02/02 职场文书
病危通知单
2015/04/17 职场文书
如何在CocosCreator里画个炫酷的雷达图
2021/04/16 Javascript