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脚本实现分析dns日志并对受访域名排行
Sep 18 Python
python使用pil生成图片验证码的方法
May 08 Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 Python
Python 爬虫多线程详解及实例代码
Oct 08 Python
python3 模拟登录v2ex实例讲解
Jul 13 Python
pandas.cut具体使用总结
Jun 24 Python
django基于restframework的CBV封装详解
Aug 08 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
在keras中model.fit_generator()和model.fit()的区别说明
Jun 17 Python
requests在python中发送请求的实例讲解
Feb 17 Python
Django Paginator分页器的使用示例
Jun 23 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 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插件 HTMLPurifier HTML解析器
2013/07/01 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
MultiSelect左右选择控件的设计与实现介绍
2013/06/08 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
JS获取动态添加元素的方法详解
2019/07/31 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
俄罗斯儿童和青少年服装、鞋子及配件的在线商店:Orby
2020/02/20 全球购物
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
回复函格式及范文
2015/07/14 职场文书
春节随笔
2015/08/15 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
golang生成并解析JSON
2022/04/14 Golang
Android studio 简单计算器的编写
2022/05/20 Java/Android