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调用java的Webservice示例
Mar 10 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
Aug 15 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
Jun 07 Python
python urllib爬取百度云连接的实例代码
Jun 19 Python
numpy.delete删除一列或多列的方法
Apr 03 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
Python能做什么
Jun 02 Python
Python使用Selenium实现淘宝抢单的流程分析
Jun 23 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
Feb 26 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 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中heredoc的使用方法
2013/06/17 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
2018/06/20 PHP
php微信公众号开发之快递查询
2018/10/20 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
javascript之典型高阶函数应用介绍
2013/01/10 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
Django的数据模型访问多对多键值的方法
2015/07/21 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
党员岗位承诺口号大全
2014/03/28 职场文书
2014年人力资源工作总结
2014/11/19 职场文书
行政诉讼答辩状
2015/05/21 职场文书
劳动仲裁代理词范文
2015/05/25 职场文书
党支部评议意见
2015/06/02 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
详细了解MVC+proxy
2021/07/09 Java/Android
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫