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多线程编程(二):启动线程的两种方法
Apr 05 Python
Python 详解基本语法_函数_返回值
Jan 22 Python
python+matplotlib实现礼盒柱状图实例代码
Jan 16 Python
使用Python读取大文件的方法
Feb 11 Python
Python实现读写INI配置文件的方法示例
Jun 09 Python
tensorflow: 查看 tensor详细数值方法
Jun 13 Python
numpy返回array中元素的index方法
Jun 27 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
Python无损压缩图片的示例代码
Aug 06 Python
python 第三方库paramiko的常用方式
Feb 20 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
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
修改apache配置文件去除thinkphp url中的index.php
2014/01/17 PHP
php中require和require_once的区别说明
2014/02/27 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
一系列Bootstrap导航条使用方法分享
2016/04/29 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
Vue异步加载about组件
2017/10/31 Javascript
three.js 入门案例详解
2018/01/23 Javascript
解决vue-cli + webpack 新建项目出错的问题
2018/03/20 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
解决$store.getters调用不执行的问题
2019/11/08 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python获取服务器响应cookie的实例
2018/12/28 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
HTML5 Web 存储详解
2016/09/16 HTML / CSS
单身旅行者的单身假期:Just You
2018/04/08 全球购物
青年文明号复核材料
2014/02/11 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
初中生旷课检讨书范文
2014/10/06 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
2015年党风廉政建设责任书
2015/01/29 职场文书
2016年社区综治宣传月活动总结
2016/03/16 职场文书
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python