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 27 Python
Python中类型关系和继承关系实例详解
May 25 Python
Python读写文件方法总结
Jun 09 Python
轻松实现TensorFlow微信跳一跳的AI
Jan 05 Python
在VS Code上搭建Python开发环境的方法
Apr 06 Python
Python实现去除列表中重复元素的方法小结【4种方法】
Apr 27 Python
彻彻底底地理解Python中的编码问题
Oct 15 Python
Django REST framework内置路由用法
Jul 26 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
python调用API接口实现登陆短信验证
May 10 Python
Python eval函数原理及用法解析
Nov 14 Python
基于PyInstaller各参数的含义说明
Mar 04 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入门教程 精简版
2009/12/13 PHP
第四章 php数学运算
2011/12/30 PHP
js switch case default 的用法示例介绍
2013/10/23 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
Python中除法使用的注意事项
2014/08/21 Python
Python常用知识点汇总
2016/05/08 Python
Python构建XML树结构的方法示例
2017/06/30 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
行政助理岗位职责
2013/11/10 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
小学六年级学生评语
2014/04/22 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
2014年助理工程师工作总结
2014/11/14 职场文书
党员示范岗材料
2014/12/19 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
论文评审意见
2015/06/05 职场文书
javascript对象3个属性特征
2021/11/17 Javascript