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列表操作使用示例分享
Feb 21 Python
python如何通过protobuf实现rpc
Mar 06 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
Mar 05 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
利用Python如何将数据写到CSV文件中
Jun 05 Python
用Python将结果保存为xlsx的方法
Jan 28 Python
python绘制评估优化算法性能的测试函数
Jun 25 Python
Django实现文件上传和下载功能
Oct 06 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
Mar 05 Python
使用Django清空数据库并重新生成
Apr 03 Python
python3判断IP地址的方法
Mar 04 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
php通过COM类调用组件的实现代码
2012/01/11 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
javascript是怎么继承的介绍
2012/01/05 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
浅析Bootstrap表格的使用
2016/06/23 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
通俗解释JavaScript正则表达式快速记忆
2017/08/23 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
Python实现分割文件及合并文件的方法
2015/07/10 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
Python filter过滤器原理及实例应用
2020/08/18 Python
python pip如何手动安装二进制包
2020/09/30 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
关于python中remove的一些坑小结
2021/01/04 Python
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
澳大利亚优质葡萄酒专家:Vintage Cellars
2019/01/08 全球购物
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
工作所在部门证明
2014/09/21 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
优质护理服务心得体会
2016/01/22 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python