python大数加法、需要ut_对于密钥大小,Python加密数据太长
我试图用非对称加密来加密我的邮件。我用的是SHA256算法。密钥大小是2048。这是我的代码:-在from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives import serialization, hashes
private_key = rsa.generate_private_key(
public_exponent=65537,
key_size=2048,
backend=default_backend()
)
public_key = private_key.public_key()
# saving public key
pem = public_key.public_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PublicFormat.SubjectPublicKeyInfo
)
with open('public_key.pem', 'wb') as f:
f.write(pem)
# reading public key
with open("public_key.pem", "rb") as key_file:
public_key = serialization.load_pem_public_key(
key_file.read(),
backend=default_backend()
)
message = {
'504201': '504346',
'504293': '504306',
'504299': '504273',
'B.O': 'B.O',
'Non-Delivery': 'Delivery',
'regionname': 'Hyderabad',
'Sirpur (t)': 'Asifabad',
'ANDHRA PRADESH\nAnnaram B.O': 'ANDHRA PRADESH\nChichdhari Khanapur B.O',
'officeType': 'S.O',
'Nirmal': 'Adilabad',
'circlename': 'Andhra Pradesh',
'Districtname': 'Adilabad',
'ANDHRA PRADESH\nBansapalli B.O': 'ANDHRA PRADESH\nDeepaiguda B.O',
'pincode': '504103',
'ANDHRA PRADESH\nAndugulpet B.O': 'ANDHRA PRADESH\nBurguda B.O',
'504202': '504313',
'504231': '504293',
'Hyderabad': 'Hyderabad',
'Khanapur': 'Utnoor',
'Luxettipet': 'Asifabad',
'officename': 'dilabad)',
'ANDHRA PRADESH\nBellalbadi B.O': 'ANDHRA PRADESH\nDhaboli B.O',
'Taluk': 'Mudhole',
'ANDHRA PRADESH\nBambara B.O': 'ANDHRA PRADESH\nCoal Chemical Complex S.O',
'ANDHRA PRADESH\nBangalpet B.O': 'ANDHRA PRADESH\nDantanpalli B.O',
'salt': 1,
'divisionname': 'Adilabad',
'statename\nAda B.O': 'ANDHRA PRADESH\nBirvelli B.O',
'Delivery': 'Delivery',
'ANDHRA PRADESH\nBhainsa S.O (A': 'ANDHRA PRADESH\nDhann',
'504106': '504311',
'Andhra Pradesh': 'Andhra Pradesh',
'ANDHRA PRADESH\nArli (T) B.O': 'ANDHRA PRADESH\nChintaguda B.O',
'504295': '504302',
'Asifabad': 'Mancherial',
'ANDHRA PRADESH\nBejjur B.O': 'ANDHRA PRADESH\nDehgaon B.O',
'504306': '504309',
'504312': '504296',
'Adilabad': 'Adilabad',
'Deliverystatus': 'Delivery',
'Chennur': 'Utnoor'
}
message = json.dumps(message).encode('utf-8')
encrypted = self.public_key.encrypt(
message,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
上面的代码引发了一个异常ValueError: Data too long for key size. Encrypt less data or use a larger key size.,如果我将key_的大小增加到4096,它就可以工作了。但是,如果我的数据有更多的键,即使4096也会失败。在
作为解决方法,我阅读了多个类似的SO问题,其中建议使用对称加密缩短(加密)数据,然后使用非对称加密。在
我尝试了和以下内容:在
^{pr2}$
这也会导致相同的错误,因为cipher_text又太长了。在
我怎么做对了?在
python大数加法、需要ut_对于密钥大小,Python加密数据太长相关推荐
- python requests下载图片_python读取图片大小Python Requests模块快速入门
requests是python的一个HTTP客户端库,跟urllib,urllib2类似.它比 urllib 更加方便,可以节约我们大量的工作,它比 urllib 更加 Pythoner. 安装 Re ...
- python大数加法
以字符串的形式读入两个数字,编写一个函数计算它们的和,以字符串形式返回. (字符串长度不大于100000,保证字符串仅由'0'~'9'这10种字符组成) # # 代码中的类名.方法名.参数名已经指定, ...
- Python开发【第一篇】:初识Python
内容概要 如何编写变量.变量的命名规范 常量(写法) 变量的数据类型(int, str, bool) 用户交互(input) 流程控制(让程序有不同的方向可以选择) 循环(while) 1.变量 变量 ...
- python加法怎么写_51NOD 大数加法以及python写法
大数加法一般为小学生式的"竖式计算"要特别注意的是借位与进位的问题(先给看c++写法,我怕先看了python写法,会看不下去c++写法)这题还有要注意的是 1.同符号的话,直接加就 ...
- python【蓝桥杯vip练习题库】ADV-136大数加法(高精度加法)
试题 算法提高 大数加法 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入两个正整数a,b,输出a+b的值. 输入格式 两行,第一行a,第二行b.a和b的长度均小于1000位. ...
- 大数加法分析及C语言实现(加数可为负数)
大数加法(加数可为负数) ·分析: 大数加法有如下几种情况: 1.两数同号 (1)同正:如,s1=11,s2=22:s1=0,s2=0 (2)同负:如,s1=-11,s2=-22 2.两数异号 (1) ...
- Java大数加法乘法减法、36进制加法
文章目录 大数加法 大数减法 c++版本 Java版本 大数乘法 36进制加法 c++版 Java版 大数加法 1.是整数: 2.两个数无限大,long都装不下: 3.不能用BigInteger: 4 ...
- 51NOD-1005 大数加法【大数】
1005 大数加法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出2个大整数A,B,计算A+B的结果. Input 第1行:大数A 第2行:大数B (A,B的长度 ...
- 大数加法(ascll转换),利息计算(数组,sizeof与循环运用)
一,大数加法 大数加法顾名思义,在超过long int 类型所承受的的较大数之间的加法运算,主流方法就是对数进行类型转换,如转换成字符串字符数组再对其依次相加,较为相识方式就是对10不断取余数,余数相 ...
最新文章
- Oracle的LINUX安装
- python pyppeteer自定义chromium目录
- QQ空间说说的表情添加的代码
- HDU-3664-Permutation Counting
- synchronized 王的后宫总管,线程是王妃
- 算术基本定理“质数分解唯一性的证明”:古典方法与现代方法
- 【es】使用ElasticSearch的44条建议 性能优化
- 基于SpringCloud开发的分布式系统,遇到爬虫、接口盗刷怎么办?
- Oracle技术分享系列一:Oracle数据库学习资源推荐
- lammps教程:推荐几个比较实用的lammps自带函数
- Daemontools和Supervisor管理linux常驻进程
- coj #10066新的开始(最小生成树)
- 汽车“核战争”:Arm明年量产下一代架构,“全面计算”战略背后的隐忧
- photoshop给照片去斑的一些办法
- STL笔记:rb_tree
- http协议之长连接与短连接服务器,长连接短连接
- 当基础设施故障后,声网 SD-RTN 如何保障 RTE 服务的高可用性
- java注解注入空,Spring4.3.7注解 @Autowired java.lang.NullPointerException
- java最高线程优先级是,Java线程优先级
- 临床路径论文、系统及其他资料汇总【88个】【第一辑】
热门文章
- 孙俪主演的热播剧《安家》房似锦,让我们看到比贫穷更可怕的是原生家庭
- 疫情之下春运人口回流“硬核”预测:往返这些超级网络节点城市有更大感染风险
- 多智能体强化学习Multi agent,多任务强化学习Multi task以及多智能体多任务强化学习Multi agent Multi task概述
- 勒索病毒频发,信息安全事件如何破 --记两次勒索病毒数据恢复实例
- Spark简介、生态系统
- ES数据库重建索引——Reindex(数据迁移)
- Scikit入门指南
- 无法加载SQLite.Interop.dll:找不到指定模块
- ORAN C平面 Section Extension 10
- ppt循环动画的制作