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操作MySQL数据库的方法分享
May 29 Python
初步理解Python进程的信号通讯
Apr 09 Python
Python用list或dict字段模式读取文件的方法
Jan 10 Python
Python 装饰器深入理解
Mar 16 Python
对python中return和print的一些理解
Aug 18 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
Python语言生成水仙花数代码示例
Dec 18 Python
tensorflow 初始化未初始化的变量实例
Feb 06 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
Python中socket网络通信是干嘛的
May 27 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查看session内容的函数
2008/08/27 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
js function定义函数的几种不错方法
2014/02/27 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
详解javascript高级定时器
2015/12/31 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
基于js中this和event 的区别(详解)
2017/10/24 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
如何利用Python模拟GitHub登录详解
2019/07/15 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
使用Django清空数据库并重新生成
2020/04/03 Python
详解python的super()的作用和原理
2020/10/29 Python
jupyter 添加不同内核的操作
2021/02/06 Python
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
电大学习个人自我评价范文
2013/10/04 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
村党建工作汇报材料
2014/11/02 职场文书
教师节联欢会主持词
2015/07/04 职场文书
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers