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中实现定制类的特殊方法总结
Sep 28 Python
Python实现简单的可逆加密程序实例
Mar 05 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
Python中列表和元组的使用方法和区别详解
Dec 30 Python
Python加密方法小结【md5,base64,sha1】
Jul 13 Python
解决python删除文件的权限错误问题
Apr 24 Python
python 除法保留两位小数点的方法
Jul 16 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
AUC计算方法与Python实现代码
Feb 28 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
Jun 29 Python
Python OpenCV之常用滤波器使用详解
Apr 07 Python
python自动获取微信公众号最新文章的实现代码
Jul 15 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获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
Javascript 陷阱 window全局对象
2008/11/26 Javascript
JavaScript 高级语法介绍
2009/06/15 Javascript
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
node.js中的console.warn方法使用说明
2014/12/09 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
jQuery源码分析之init的详细介绍
2017/02/13 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
解决vue attr取不到属性值的问题
2018/09/18 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
Python处理字符串之isspace()方法的使用
2015/05/19 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
快速了解Python相对导入
2018/01/12 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
Talbots官网:美国成熟女装品牌
2019/11/15 全球购物
小学生推普周国旗下讲话稿
2014/09/21 职场文书
清明节寄语2015
2015/03/23 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书