问题标签 [pycryptodome]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PyCrypto Cyphertext 长度不正确,即使只有一个字符数据
我想加密/解密包含在 .csv 文件中的一组数据。我使用以下代码生成我的 RSA 公钥/私钥:
然后我用这段代码加密没有任何问题:
我可以通过修改这一行来修改我的数据是如何分开的:
rep = [rep[i:i+n] for i in range(0, len(rep), n)]
此行按 n 个字符组分隔我的数据
这是我解密数据的代码,它提出:
ValueError:长度不正确的密文。
我试图编码一个示例文件,它引发了这个 ValueError 。然后我尝试直接在 Python 解释器上使用一个只包含一个字符的文件。加密运行良好,但解密因与上述相同的错误而中断。
python - ImportError:无法从“Crypto.PublicKey”导入名称“RSA”
您好我正在尝试将我的 python 脚本连接到 google firebase。我在安装 pyrebase 时遇到了一些问题。当我使用 pip install pyrebase 安装时,我收到此错误消息:
图片1:
但是我尝试了几种方法来解决这个问题,一种方法是通过 pip install pyrebase4 安装。安装会很好,但是当我去写 import 语句 import pyre base 时,我会得到这个错误:
图 2:
我还尝试卸载 pyrebase4 并安装 setuptools 和 gcloud,我应该可以从中安装 pyrebase。但是它无法构建 pycryptodome 轮。然后它执行这个错误:
图 3:
谁能帮我把它安装好,我需要尽快完成一个项目,但这个瓶颈真的让我压力很大
pycrypto - 使用 PyCrypto 编写的 RSA 代码不适用于 PyCryptodome
我正在尝试使用 PyCryptodome 运行我为 PyCrypto 编写的两个简单函数。以下是具有相关类成员定义的函数:
EncryptText 和 DecryptText 这两个函数使用 PyCrypto 方法 encrypt 和 decrypt 不再在 PyCryptodome 中维护(外部代码调用它们时会引发 NotImplemented 错误)。谁能帮我将它们转换为符合 PyCryptodome 的代码?提前致谢!
python-3.x - 获取异常:对象类型不能传递给 C 代码
我在 Python 3.7.2 上安装pip install pycryptodome 。我遇到了obj = AES.new(key, AES.MODE_CBC, iv)行的异常。我的代码是:
我一直尝试但没有得到解决方法。
python - 否 模块名称 Crypto
我正在尝试在我的 python 程序中导入 Crypto,但出现错误。我在窗户上工作。请帮忙。
命令
测试.py
python - Python Pycryptodome 加密引发“长度不正确的密文”错误
继续我之前的pycryptodome问题,我的要求现在更改为支持90G数据进行加密。所以我做了一些设计上的改变,解构了加密代码,让它们都在子进程中运行。
上面的想法是从这里触发的
现在我有2个文件:
encutil.py
主文件
假设公钥和私钥都可用且到位。
而且,当我在执行一段时间后执行以下命令时,我收到错误:长度不正确的密文,没有任何回溯:
但它对于较少的数据输入运行成功,例如40G的数据
我的系统详细信息是:
如果我不通过systemd-run控制内存资源,那么 Python 会在某个执行点抛出MemoryError并以相同的方式失败,并显示“ Ciphertext with wrong length. ”消息
我无法从stackoverflow中已经提出的解决方案中得到任何线索
修改前的原代码设计如下:
python - 如何在 Python 中使用 RSA 私钥(非正常签名)加密数据?
我想用私钥(不是普通签名)进行 RSA 加密,但 PyCryptodome 似乎无法做到。
我需要使用私钥执行此操作的原因是,我需要获得与不是我编写的 Java 程序相同的结果,该程序错误地使用 javax.crypto.Cipher 和私钥来签署消息......
Java程序的结果:
哈希:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
符号:k8y6zMfl0KVuQWWOmRxieXF1aH0dpVUX......(总是一样)
我的 Python 脚本的结果:
哈希:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
符号:GfLVqZDnu5aLHHbi0tM5OtCBEVKKRcjW......(每次都改变)
rsa - 无法使用 pycryptodome 验证 RSA 签名
我正在尝试在 Android 中签署消息,然后将消息、签名和公钥发送到 Django 服务器进行验证。我在服务器上使用 pycryptodome 进行验证,但验证总是失败 - 问题是我不知道我做错了哪一点。
这就是我在 Android 上所做的:
生成 RSA 公钥私钥
使用私钥对消息进行签名,将签名编码为 base64
提取公钥为base64
将消息、签名(base64)和公钥(base64)发送到服务器
尝试验证签名
然后在服务器上(使用 Python 3、Django 1.11、pycryptodome 3.8.1),我收到消息、签名消息和公钥:
在这一点上,我有这样的事情:
然后我尝试像这样验证:
这总是失败,我不知道为什么。一些问题:
我已经用“-----BEGIN RSA KEY-----”和“-----END RSA KEY-----”包围了公钥 - 对吗?如果不这样做,我会收到关于 RSA 密钥格式无效的错误
我的私钥和签名消息都有换行符 - 我应该删除这些吗?我已经尝试过使用和不使用它们,它似乎没有什么不同,但会感谢任何建议
PyCharm 抱怨
signature.verify(digest, signature.encode())
:预期类型 ModuleType,取而代之的是 SHA256Hash。
文档说摘要应该是 Crypto.Hash 的一种类型,而我使用的是 Crypto.Hash.SHA256Hash,那么为什么 PyCharm 会抱怨呢?我可以忽略吗?
我正在使用 pycryptodome 的 PKCS1_v1_5 类来创建签名验证器。我不知道那是什么,我只是按照我在 SO 上看到的代码。使用正确吗?
我正在使用算法“SHA256withRSA”在android上签名,并在服务器上使用带有RSA密钥的PKCS1_v1_5并传入消息的SHA256哈希。我对所有这些标准知之甚少。这听起来对吗?
我不知道去哪里形成这里,任何建议表示赞赏!
encryption - 解密完成后获取计数器值
我正在尝试使用 openssh/openssh-portable 库生成的密钥在 SSH 中解密 AES-CTR。我成功地从内存中提取了密钥。现在,经过一些 printfs 和研究后,我发现似乎每个加密数据包的初始计数器都会增加,这意味着后续数据包(不是字节)与前数据包具有不同的计数器值。对于我的解密,我想逐包解密,所以现在我的问题是:
- 我能否以某种方式获得 pycryptodome 中 AES 计数器的“结束”计数器,以便我可以使用“结束”计数器作为解密的新初始计数器?
我的 pycrypo 线如下所示:
一些链接:
python - 无法使用相同的 AES 对象两次解密给定的密文
我正在使用 AES 对象 (aesDecryptObj ) 来解密使用单独的 AES 对象 (aesEncryptObj ) 加密的密文。
连续使用 aesEncryptObj 任意次数都会产生成功的结果,但是,当我使用 aesDecryptObj 连续两次或更多次解密给定的密文时,我收到以下错误:
如果给定相同的密文,aesDecryptObj 是否会产生与第一次解密该值时相同的结果?