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实现简单ftp客户端的方法
Jun 28 Python
Python类属性的延迟计算
Oct 22 Python
python使用arcpy.mapping模块批量出图
Mar 06 Python
python机器学习之神经网络(三)
Dec 20 Python
快速了解Python相对导入
Jan 12 Python
python xpath获取页面注释的方法
Jan 14 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
Apr 26 Python
Python提取PDF内容的方法(文本、图像、线条等)
Sep 25 Python
python 视频逐帧保存为图片的完整实例
Dec 10 Python
python 实现一个图形界面的汇率计算器
Nov 09 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 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
文章推荐系统(二)
2006/10/09 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
JavaScript编码风格指南(中文版)
2016/08/26 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
Python变量和数据类型详解
2017/02/15 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
Python之指数与E记法的区别详解
2019/11/21 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
Python Django搭建网站流程图解
2020/06/13 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
银行学习十八大感想
2014/01/11 职场文书
单位介绍信范文
2014/01/18 职场文书
七一讲话心得体会
2014/09/05 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书