问题标签 [pycrypto]

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.

0 投票
1 回答
3195 浏览

c++ - 生成的加密字符串在 PyCrypto 和 Crypto++ 中的大小不同

我最近使用了一个 Python 脚本来加密一个字符串。但无法使用 Crypto++ 在 C++ 中解密它。我刚刚比较了生成的加密字符串,发现它们不一样。有人可以帮忙吗?

这是我的 Python 代码:

这是我的 C++ 代码:

0 投票
1 回答
1474 浏览

encryption - Base64 编码输出不同于 as3crypto 和 pycrypto 加密库

我正在尝试使用对称加密将数据从 actionscript 3(客户端)传递到 python(服务器)。

我使用的库是 as3crypto 和 pycrypto,我不确定我是否正确使用了这些库。

动作脚本 3:

这是上述函数的 base64 编码输出。

xvVqLzV5TU4=

现在,使用 pycrypto 库中的相同密钥、初始化向量和算法会给我不同的输出。

Python:

I82NQEkSHhE=

我很确定我在加密过程中做错了,因为我可以在两个库上对“testtest”进行base64编码并接收相同的输出。

动作脚本 3:

产量...

dGVzdHRlc3Q=

Python:

产量

dGVzdHRlc3Q=

有人可以在python或actionscript中使用相同的IV加密和base64encode相同的字符串,所以我知道哪个库实际上产生了正确的输出?

0 投票
1 回答
239 浏览

python - 为什么 Google 的 PEM 中剩下 40 个字符用于打包 Chrome 扩展

我最近一直试图弄清楚如何让 PyC​​rypto 识别由 Google Chrome 打包过程产生的 PEM。问题是标准的 importKey 方法会导致错误。经过相当长的过程,我终于意识到我可以通过对 DerSequence.decode 方法进行逆向工程来初步模拟导入(所有细节都在这里)。不幸的是,它给我留下了一个未解决的问题。

我可以得到导入的密钥,看起来还算一致,但我还剩下 40 个字符。

有谁知道为什么有这 40 个字符?忽略它们会导致某些私钥/公钥对出现问题吗?

0 投票
1 回答
6410 浏览

python - 无法安装 pycrypto

我在安装 pycrypto 时遇到问题。试过包管理器:pip & easy_install,没用。尝试通过“python setup.py install”手动安装,出现与上面相同的错误。

我已按照此处的说明进行操作,但在安装“mingW”gcc、g++ 和 msys-base(MSYS shell 环境)后,我一直无法安装 pycrypto

经过几天的尝试,现在不知道该怎么做。

这是错误的完整输出:

0 投票
2 回答
550 浏览

twisted - Windows Server 2008 R2 x64 上 Python 2.71 的 Twisted Conch?

我正计划将 Twisted Conch 用于我正在开发的应用程序的 SFTP 部分。该应用程序的其余部分是基于 Python 2.71 构建的,虽然 Twisted 作为一个整体似乎可用于 Python 2.7,但http://twistedmatrix.com/trac/wiki/Downloads上的下载页面似乎显示只有 Python Conch 支持 2.5,因为它依赖于 PyCrypto 2.0.1。

是这种情况,还是在某个地方为 Python 2.7 构建了 Conch?

这是在 Windows Server 2006 R2 x64 机器上,物有所值。

谢谢。

0 投票
1 回答
3250 浏览

.net - .NET 中的 RSA 加密,python 中的解密

我正在尝试使用 C# 中的 RSA 算法加密一条短消息,并使用 python 脚本解密该消息。

我想在 C# 端使用 .NET 类,在 python 端使用pycrypto。我已经管理双方使用相同的密钥(这甚至不是微不足道的,因为 .NET 不直接支持标准 PEM/DER 格式)。加密/解密在双方独立工作。

我在 C# 端使用 PKCS#1 填充(将fOAEP参数设置为RSACryptoServiceProvider.Encryptto false),所以我希望在 python 中解密块后,我应该看到某种明文(即我的“消息”和填充字节)

但我看到的都是垃圾:(。

是否有任何我不知道的警告/陷阱?我有点没主意了...

谢谢马丁

示例代码

C# / 加密

Python / 解密

对于密钥传输,我使用的ToXmlString()RSACryptoServiceProvider. 生成的 XML 在 python 中解析,pycrypto -RSA 对象初始化为

其中modulusexponentd和是 .NET结构p的各个字段。(正如我所提到的,我可以在 python 中使用这个密钥加密/解密消息,也可以产生,所以我认为密钥导入工作正常......)qRSAParametersp*qmodulus

0 投票
1 回答
920 浏览

python - 在 ezPyCrypto 中读取使用 Putty 生成的私钥

我使用 Putty Key Generator 创建了一个私钥,名为Putty-Private.ppk. 我可以将此私钥与 Pageant 和 Putty 一起使用,以连接到我的托管服务提供商的服务器。

现在,我想使用基于 xmlrpc 的远程 API 连接到服务器。为此,我安装了ezPyCrypto,许多人认为它是一个易于使用的 python 加密库。为了测试加密,我编写了以下代码:

ezPyCrypto.key(...)但是系统在调用时给出以下错误:

我确信密码是正确的。所以,我想我不能在 ezPyCrypto 中使用 Putty 的私钥生成器。是对的吗?这个错误的原因是什么?

0 投票
5 回答
2323 浏览

node.js - PyCrypto 和 Node.JS Crypto 库中的 AES 是否相同

我开始怀疑 AES 的实现是否跨库不同..

目前我有一个用 PyCrypto 加密的明文。
我试图用 Node.js 的加密库解密密文。

基本上使用 PyCrypto ..
我使用 AES-128-CBC 和随机生成的 IV。(在 PyCrypto 中完美解密)

但是..
在 Node.js 上我正在这样做

吐出一堆垃圾....(将“二进制”更改为 hex/utf8 无济于事)

当我使用 CBC(密码块链接)时...
我将 IV 添加到密文的开头(16 个块)。在 PyCrypto 中,这完美地工作,类似于 PGP、CFB 使用的规范。

有谁知道这不起作用的原因是什么???

我是否对 Node.js 的标准库期望过高?

0 投票
3 回答
12386 浏览

google-app-engine - 本地 mac AppEngine 上没有名为 Crypto.Cipher 的模块

没有名为 Crypto.Cipher 的模块

当我尝试导入时

从 Crypto.Cipher 导入 AES

我的文件夹结构如下所示:

测试/

测试/main.py

测试/pycrypto-2.3

我在 pycrypto 文件夹中运行构建和安装,但我不断收到错误,有什么想法吗?

0 投票
1 回答
4137 浏览

python - 如何为公共 RSA/DSA 密钥生成 PEM 序列化

使用 PyCrypto,我能够为 RSA 密钥生成公共和私有 PEM 序列化,但在 PyCrypto 中,DSA 类没有 exportKey() 方法。

尝试 PyOpenSSL 我能够为 RSA 和 DSA 密钥生成私有 PEM 序列化,但是 PyOpenSSL 中没有 crypto.dump_publickey 方法。

我正在寻找有关如何为 RSA 和 DSA 密钥生成 PEM 序列化的建议。

非常感谢!

PS:同时我已经更改了 PyOpenSSL 代码以导出加密 API 的 dump_privatekey 方法。PyOpenSSL 错误和补丁可以在以下位置找到:https ://bugs.launchpad.net/pyopenssl/+bug/780089


我已经在使用 Twisted.conch,所以我通过使用 PyCrypto 手动生成 DSA/RSA 密钥,然后使用该密钥初始化一个 twisted.conch.ssh.key.Key 解决了这个问题。Conch 的 Key 类为字符串序列化提供了一个 toString 方法。