python rsa-oaep加密示例
代码:
1 from Crypto.PublicKey import RSA
2 from Crypto.Cipher import PKCS1_OAEP
3 import base64
4 rsa_key_pair = RSA.generate(1024)
5 pubkey = rsa_key_pair.publickey().export_key()
6 privkey = rsa_key_pair.export_key()
7 print(pubkey.decode())
8 print(privkey.decode())
9
10 # 公钥加密
11 text = "hello world"
12 rsa_pubkey = RSA.import_key(pubkey)
13 cipher_pub = PKCS1_OAEP.new(rsa_pubkey)
14 ciphervalue_enc = base64.b64encode(cipher_pub.encrypt(text.encode("utf-8")))
15 print("加密内容:\n{}".format(ciphervalue_enc.decode()))
16
17 #私钥解密
18 rsa_privkey = RSA.import_key(privkey)
19 cipher_priv = PKCS1_OAEP.new(rsa_privkey)
20 ciphervalue_dec = cipher_priv.decrypt(base64.b64decode(ciphervalue_enc))
21 print("解密内容:\n{}".format(ciphervalue_dec.decode()))
输出:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCk5RDTc88/13NClCz2u8JbERQZ
5+5oqdic9LkqfpHXguxBd31j6sV9zBurnT85O6+08D/eRCZj7DA3vR2pXziglDaJ
kUXNjuX0403NXHyNFugjbZyGfwr3r1V8B7ZCcyCZNW4V28naM0NF9jcVgb6haDQP
7k5ht92sQ7IJiXROKQIDAQAB
-----END PUBLIC KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQCk5RDTc88/13NClCz2u8JbERQZ5+5oqdic9LkqfpHXguxBd31j
6sV9zBurnT85O6+08D/eRCZj7DA3vR2pXziglDaJkUXNjuX0403NXHyNFugjbZyG
fwr3r1V8B7ZCcyCZNW4V28naM0NF9jcVgb6haDQP7k5ht92sQ7IJiXROKQIDAQAB
AoGARVXAVnlayuhoIbW2lmTq22n5/s6kU8QfPhg1B+ZCotD9UKXSxsHAGx5JAEdV
f1ZWkol3AZm8XsXAnJ9bqo1MfKQcPLZRCG3FMQ6UUyse/R0Wc+ofzP8roM6y9qsG
C8WlM5lSojyz+lgUH5+CaEtZW43kHitt/jzK0byj2An0c1UCQQDH6kDFh43mLFz0
n4q6VSnCrCGTTuEsnnWGSlNafFyUURgeA6AWkfJNphErNBJul/thq6lXf9Hs61sd
CI1WtDDTAkEA0yevHkbD4hV9eh4aW5r6sAgDEtpp3gaUoB9xyayeuO1GoowtTBhz
NO+GttV+XyxFELCNBBwNIhpvVFWz/q+HkwJBAMGLuIPEtgum3aPzpiK5+sE/Vw4/
6t8A1rVZ1hMfnZ32WQwN5HqVd+nXIn4aXtH1kGnCASP2Wu4t+jtEoVnVAAMCQH9c
zmnqsThrUfYYtjlO76rCCmiSyYycV4WFsfK9ZjeRFyvwdVoS3Vqup4kcmU76uuXo
OAakjN9nJoOt9hXG9nUCQQCJc398MvDedu8igFluMx8Cgt6s3Srwp/EZvcBK915u
e5JvZ6uds64G9ooX+8mire50zpn7UbwPZzbEDffNYbIG
-----END RSA PRIVATE KEY-----
加密内容:
Bod1WNuWMRky/bCZdNvWuCBYdMfejsEWqm08QwNxff3enwm1xxW6z/jEhs3trT8dmKgvX20wYSccH/7Ekcc/09Jnd6N3AuiCE922U5OdFLqOFhkORdQZP6uWisiiW7XoYNoY/Hzr8ZH+7s5/sw2w0MIpRyD+4Wlooxd8UDgThWA=
解密内容:
hello world
RSA.import_Key()参数可以是bytes或string, 支持X509标准的公钥证书或者PKCS#1 DER编码的私钥证书,详细内容可见函数内的说明。
python rsa-oaep加密示例的更多相关文章
- 【Python】Python AES 对称加密示例
代码: import sys from Crypto.Cipher import AES from binascii import b2a_hex, a2b_hex AES_SECRET_KEY = ...
- javascript版前端页面RSA非对称加密解密
最近由于项目需要做一个url传参,并在页面显示参数内容的需求,这样就会遇到一个url地址可能会被假冒, 并传递非法内容显示在页面的尴尬情况 比如xxx.shtml?server=xxx是坏人& ...
- python RSA加密、解密、签名
python RSA加密.解密.签名 python中用于RSA加解密的库有好久个,本文主要讲解rsa.M2Crypto.Crypto这三个库对于RSA加密.解密.签名.验签的知识点. 知识基础 加密是 ...
- 前端js,后台python实现RSA非对称加密
先熟悉使用 在后台使用RSA实现秘钥生产,加密,解密; # -*- encoding:utf-8 -*- import base64 from Crypto import Random from Cr ...
- python rsa 加密
rsa 非对称加密, 公钥加密, 私钥解密, 有公钥无法推导出私钥, 私钥保密 import rsa n = 1024 # n 越大生成公钥, 秘钥及加密解密所需时间就越长 key = rsa.new ...
- python开源项目及示例代码
本页面是俺收集的各种 Python 资源,不定期更新. 下面列出的各种 Python 库/模块/工具,如果名称带超链接,说明是第三方的:否则是 Python 语言内置的. 1 算法 1.1 字符串处理 ...
- python开源项目及示例代码(转)
本页面是俺收集的各种 Python 资源,不定期更新. 下面列出的各种 Python 库/模块/工具,如果名称带超链接,说明是第三方的:否则是 Python 语言内置的. 1 算法 1.1 字符串处理 ...
- CryptoAPI与openssl RSA非对称加密解密(PKCS1 PADDING)交互
(以下代码中都只做测试用,有些地方没有释放内存...这个自己解决下) 1.RSA非对称的,首先提供一个供测试用的证书和私钥的数据 1)pem格式的证书和私钥(公私钥是对应的)的base64编码 voi ...
- 潭州课堂25班:Ph201805201 爬虫基础 第七课 Python与常见加密方式 (课堂笔记)
打开图形界面 18版 Python与常见加密方式 前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时 ...
- 我的Android进阶之旅------>Android采用AES+RSA的加密机制对http请求进行加密
前言 未加密的抓包截图 加密之后的抓包截图 基本需求及概念 AES算法 AES基本原理及算法流程 AES算法流程 RSA算法 RSA算法基本原理及流程 RSA算法实现流程 AES与RSA相结合数据加密 ...
随机推荐
- git学习--GitHub上如何进行PR(Pull Request)操作
目录 一.前言 二.实现步骤 2.1 将小红在GitHub上的Repository clone到小明的本地电脑 2.1.1 fork小红在GitHub上的Repository到小明的GitHub 2. ...
- 【AnaTraf 分享】什么是 AnaTraf?为什么设计 AnaTraf?
网络流量分析与 AnaTraf "2013年,网络流量分析技术(NTA, Network Traffic Analysis)的概念被首次提出,在2016年逐渐兴起.2017年,NTA被Gar ...
- turltle模块详解
引言:turtle(海龟)模块,我们是用它来进行画图的,基本上就是画简单的直线,点,和曲线. 你可以把它想成一个小海龟,在沙滩上行走,然后留下的各种痕迹,使用Turtle模块可以绘制很多精美的图形. ...
- Linux安装Logstash
Logstash安装 一.上传解压重命名 将Logstash压缩包上传到/home/下解压压缩包并重命名 [root@localhost home] tar -zxf logstash-7.15.0- ...
- 微信小程序 canvas 手写签名(2d)
canvas 2d 目前支持预览,不支持真机调试 index.wxml <canvas type="2d" id="canvas" bindtouchmo ...
- Django——启动项目时报错mysqlclient
报错内容如下: Watching for file changes with StatReloader Exception in thread django-main-thread: Tracebac ...
- jQuery实现简单的模态框
<!-- jquery模态框 --> <!DOCTYPE html> <html lang="en"> <head> <met ...
- 内存取证——volatility学习
前言 在做计算机最后两道题目碰到了MP3格式的镜像,分析发现是计算机内存,要进行内存取证.现在内存取证在ctf比赛中也是常见的题目,内存取证是指在计算机系统的内存中进行取证分析,以获取有关计算机系统当 ...
- C#简易商城收银系统v1.1简单工厂实现(2-2)
C#简易商城收银系统v1.1简单工厂实现(2-2) 当初: C#简易商城收银系统v1.0 现在: 用之前的工厂模式对商城收银系统v1.0进行升级 可以参考之前的 C#简易商城收银系统v1.0 随笔 ...
- nginx对称加密算法和非对称加密算法nginx证书配置
对称加密算法 对称加密性能更好 对称加密: 客户端和服务器之间的通信数据是通过对称加密算法进行加密,对称加密是在加密和解密的过程中使用同一个私钥进行加密和解密,而且加密算法是公开的,所以对称加密中的私 ...