Python生成rsa密钥对操作示例


Posted in Python onApril 26, 2019

本文实例讲述了Python生成rsa密钥对操作。分享给大家供大家参考,具体如下:

# -*- coding: utf-8 -*-
import rsa
# 先生成一对密钥,然后保存.pem格式文件,当然也可以直接使用
(pubkey, privkey) = rsa.newkeys(1024)
pub = pubkey.save_pkcs1()
pubfile = open('public.pem','w+')
pubfile.write(pub)
pubfile.close()
pri = privkey.save_pkcs1()
prifile = open('private.pem','w+')
prifile.write(pri)
prifile.close()
# load公钥和密钥
message = 'lovesoo.org'
with open('public.pem') as publickfile:
  p = publickfile.read()
  pubkey = rsa.PublicKey.load_pkcs1(p)
with open('private.pem') as privatefile:
  p = privatefile.read()
  privkey = rsa.PrivateKey.load_pkcs1(p)
# 用公钥加密、再用私钥解密
crypto = rsa.encrypt(message, pubkey)
message = rsa.decrypt(crypto, privkey)
print message
# sign 用私钥签名认证、再用公钥验证签名
signature = rsa.sign(message, privkey, 'SHA-1')
rsa.verify('lovesoo.org', signature, pubkey)

对文件进行RSA加密解密

from rsa.bigfile import *
import rsa
with open('public.pem') as publickfile:
  p = publickfile.read()
  pubkey = rsa.PublicKey.load_pkcs1(p)
with open('private.pem') as privatefile:
  p = privatefile.read()
  privkey = rsa.PrivateKey.load_pkcs1(p)
with open('mysec.txt', 'rb') as infile, open('outputfile', 'wb') as outfile: #加密输出
  encrypt_bigfile(infile, outfile, pubkey)
with open('outputfile', 'rb') as infile2, open('result', 'wb') as outfile2: #解密输出
  decrypt_bigfile(infile2, outfile2, privkey)
Python 相关文章推荐
浅谈python import引入不同路径下的模块
Jul 11 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
解决Python 中英文混输格式对齐的问题
Jul 16 Python
python看某个模块的版本方法
Oct 16 Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 Python
浅谈Python编程中3个常用的数据结构和算法
Apr 30 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
Python3爬虫发送请求的知识点实例
Jul 30 Python
Python+pyftpdlib实现局域网文件互传
Aug 24 Python
Python如何截图保存的三种方法(小结)
Sep 01 Python
python 决策树算法的实现
Oct 09 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
python利用Opencv实现人脸识别功能
Apr 25 #Python
Python OpenCV利用笔记本摄像头实现人脸检测
Aug 20 #Python
python使用KNN算法识别手写数字
Apr 25 #Python
Python3.5运算符操作实例详解
Apr 25 #Python
Python对象转换为json的方法步骤
Apr 25 #Python
Python+PyQt5实现美剧爬虫可视工具的方法
Apr 25 #Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 #Python
You might like
php下一个阿拉伯数字转中文数字的函数
2007/07/16 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
input file获得文件根目录简单实现
2013/04/26 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
JavaScript深度复制(deep clone)的实现方法
2016/02/19 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
jQuery删除当前节点元素
2016/12/07 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现
2020/10/10 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
飞利浦比利时官方网站:Philips比利时
2016/08/24 全球购物
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
2014年小学国庆节活动方案
2014/09/16 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
PHP对接阿里云虚拟号的实现(号码隐私保护)
2021/04/06 PHP
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python
浅谈MySQL中的六种日志
2022/03/23 MySQL
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技