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插入数据到列表的方法
Apr 30 Python
django实现用户登陆功能详解
Dec 11 Python
Python玩转Excel的读写改实例
Feb 22 Python
pyside+pyqt实现鼠标右键菜单功能
Dec 08 Python
python实现代码统计程序
Sep 19 Python
使用Python画出小人发射爱心的代码
Nov 23 Python
浅析python表达式4+0.5值的数据类型
Feb 26 Python
python实现三壶谜题的示例详解
Nov 02 Python
Python eval函数原理及用法解析
Nov 14 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
Jan 21 Python
python 数据类型强制转换的总结
Jan 25 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 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内存溢出问题的解决方法
2013/06/25 PHP
php 问卷调查结果统计
2015/10/08 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
PHP函数积累总结
2019/03/19 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
2015/09/07 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
Spy++的使用方法及下载教程
2021/01/29 Python
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
高中生自我评价个人范文
2013/11/09 职场文书
个人求职信范文
2014/05/24 职场文书
环境保护建议书
2014/08/26 职场文书
一份文言文检讨书
2014/09/13 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
稽核岗位职责
2015/02/10 职场文书
2016年元旦致辞
2015/08/01 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
python代码实现扫码关注公众号登录的实战
2021/11/01 Python
Python socket如何解析HTTP请求内容
2022/02/12 Python