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检测服务器是否正常
Feb 16 Python
python实现文件分组复制到不同目录的例子
Jun 04 Python
python制作mysql数据迁移脚本
Jan 01 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
Aug 23 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
django drf框架自带的路由及最简化的视图
Sep 10 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
如何将 awk 脚本移植到 Python
Dec 09 Python
Python基于codecs模块实现文件读写案例解析
May 11 Python
python爬虫中采集中遇到的问题整理
Nov 27 Python
python和anaconda的区别
May 06 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编程与应用
2006/10/09 PHP
COM in PHP (winows only)
2006/10/09 PHP
一步一步学习PHP(2)――PHP类型
2010/02/15 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
利用Vue实现一个markdown编辑器实例代码
2019/05/19 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
python操作MongoDB基础知识
2013/11/01 Python
python快速查找算法应用实例
2014/09/26 Python
Python读取网页内容的方法
2015/07/30 Python
浅谈Python的异常处理
2016/06/19 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
Python绘制3D图形
2018/05/03 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
毕业寄语大全
2014/04/09 职场文书
物流专业自荐信
2014/05/23 职场文书
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL