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使用xmlrpc实例讲解
Dec 17 Python
零基础写python爬虫之爬虫的定义及URL构成
Nov 04 Python
老生常谈Python之装饰器、迭代器和生成器
Jul 26 Python
TensorFlow入门使用 tf.train.Saver()保存模型
Apr 24 Python
Centos下实现安装Python3.6和Python2共存
Aug 15 Python
浅谈django rest jwt vue 跨域问题
Oct 26 Python
在python中使用xlrd获取合并单元格的方法
Dec 26 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
python Django框架实现web端分页呈现数据
Oct 31 Python
Python基于pandas爬取网页表格数据
May 11 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
Jan 07 Python
python批量更改目录名/文件名的方法
Apr 18 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安全技术之 实现php基本安全
2010/09/04 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
javascript 学习之旅 (3)
2009/02/05 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
JavaScript中的工厂函数(推荐)
2017/03/08 Javascript
React diff算法的实现示例
2018/04/20 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
js实现点击烟花特效
2020/10/14 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
分享Python字符串关键点
2015/12/13 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
单利模式及python实现方式详解
2018/03/20 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
Django 对象关系映射(ORM)源码详解
2019/08/06 Python
python实现图像全景拼接
2020/03/27 Python
NBA德国官方网上商店:NBA Store德国
2018/04/13 全球购物
荷叶圆圆教学反思
2014/02/01 职场文书
表彰会主持词
2014/03/26 职场文书
刑事代理授权委托书
2014/09/17 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
工作建议书范文
2019/07/08 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
python中os.path.join()函数实例用法
2021/05/26 Python
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android