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列表操作实例
Jan 14 Python
初步解析Python下的多进程编程
Apr 28 Python
在Python中处理时间之clock()方法的使用
May 22 Python
python音频处理用到的操作的示例代码
Oct 27 Python
Python实现的基数排序算法原理与用法实例分析
Nov 23 Python
python调用API实现智能回复机器人
Apr 10 Python
python3+PyQt5使用数据库表视图
Apr 24 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
python判断文件夹内是否存在指定后缀文件的实例
Jun 10 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
关于Keras Dense层整理
May 21 Python
python ConfigParser库的使用及遇到的坑
Feb 12 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简单压缩css样式示例
2016/09/22 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
JavaScript加密解密7种方法总结分析
2007/10/07 Javascript
javascript实现的网页局布刷新效果
2008/12/01 Javascript
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
JavaScript版DateAdd和DateDiff函数代码
2012/03/01 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
原生JS封装拖动验证滑块的实现代码示例
2020/06/01 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
Vue循环中多个input绑定指定v-model实例
2020/08/31 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
Django在win10下的安装并创建工程
2017/11/20 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别
2012/11/04 面试题
房地产销售计划书
2014/01/10 职场文书
阳光体育活动方案
2014/02/16 职场文书
纪委立案决定书
2015/06/24 职场文书
六五普法心得体会2016
2016/01/21 职场文书