问题标签 [pynacl]

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 投票
0 回答
634 浏览

python - 已安装但仍然出现 RuntimeError: PyNaCl library required in order to use voice

我一直在为练习目的开发一个不和谐机器人,并且一直坚持让它加入语音频道。我安装了 PyNaCl,我已经用 pip 在 1.3.0 和 1.4.0 之间进行了交换,看看它是否会有所作为。我确保安装了 libsodium,认为这可以解决问题,但每当我尝试让机器人加入语音频道时,我仍然会遇到同样的错误。

我愿意尝试任何其他故障排除方法和修复程序,但到目前为止我已经搜索了 stackoverflow,但没有任何结果。

这些是我工作的导入,我尝试只使用“import.nacl”也没有结果。

感谢您的时间!

0 投票
1 回答
277 浏览

python - 我无法安装 discord.py

所以我正在运行这个命令

在 PyCharm 中(使用最新版本),但它不能让我安装它。它给了我这个例外:

错误:PATH 中缺少“make”实用程序

错误:PyNaCl 构建轮失败 未能构建 PyNaCl

错误:无法为使用 PEP 517 且无法直接安装的 PyNaCl 构建轮子

0 投票
2 回答
11321 浏览

python - 错误:无法为使用 PEP 517 且无法直接安装的 PyNaCl 构建轮子

我正在使用最新版本的 Pycharm:

当我输入此命令时: pip install -U discord.py[voice]

此错误消息将出现:错误:无法为使用 PEP 517 且无法直接安装的 PyNaCl 构建轮子

我该怎么办?

0 投票
1 回答
291 浏览

python - 我可以将 pyNaCl 密封盒与现有的 openssh 密钥对一起使用吗?

我正在尝试使用 PyNacl 进行非对称加密(公共和私有 ssh 密钥对)以安全地传输数据。

我正在使用 ssh-keygen -t ed25519 以 openssh 格式生成的现有密钥对。(下面我的代码的更多细节)

问题基本上是,以前有没有人成功地做到过这一点,以及如何做到的?

在提取出我相当有信心的是带有一个名为 openssh 密钥解析器的库的密钥。(64 个字节,32 个私有然后 32 个公共)

我使用公钥创建一个密封的盒子来进行加密

据我所知,这按预期工作。我的问题是当我尝试使用私钥创建一个将解密消息的密封盒时。

我戳了一下,发现当我这样做的时候

为了创建将由 SealedBox 使用的 PrivateKey 对象,nacl 生成一个公钥(server_privk.public_key 属性),它与我知道正确并在第一个 SealedBox 中使用的公钥不匹配。

我尝试将 server_privk.public_key 重新分配给我用来制作第一个盒子的同一密钥,但这给了我同样的问题。

我目前的想法是:

  • 我不知何故遗漏了有关 openssh 格式如何工作的一些东西(可能没有得到正确的私钥字节,也许我必须对它们进行转换,也许 openssh 密钥解析器库把事情搞砸了)。
  • 我不应该使用 openssh,而是转换我的密钥格式,也许使用另一个库来处理加密。

任何答案或想法将不胜感激:)

参考:openssh 解析器:https ://github.com/scottcwang/openssh_key_parser pyNaCl:https ://pynacl.readthedocs.io/en/latest/public/

0 投票
0 回答
87 浏览

python-3.x - 将 pynacl 中的 45 字节共享密钥转换为 32 字节密钥,以便与 25 字节 IV 的 AES-CBC 一起使用

我目前正在研究 pynacl 库。问题是我需要使用生成的 45 字节共享密钥来解密具有 25 字节 IV 的 AES-CBC 加密。但是 AES-CBC 只能采用 16/24/32 字节的密钥和 16 字节的 IV。谁能给我一些关于如何将 45 字节密钥转换为 32 字节以及将 25 字节 IV 转换为 16 字节大小的建议。

0 投票
1 回答
1568 浏览

python - 我导入 PyNaCl,但每当我将 python 升级到较新版本时,它都会被删除( Python )

我正在使用Repl.it,但在 Python 中使用 PyNaCl 时遇到问题。

我首先安装软件包。pip install PyNaCl

然后我导入它。import nacl

PyNaCl 可以正常工作,我对此没有任何问题,但是每当有更新的版本,并且我升级或它自行升级时,它也会删除 PyNaCl。

我确定它是否在列表中,是的,它一开始就在那里,但升级后,当我检查列表 ( pip list) 时,它不再存在。所以我总是需要重新安装它。在制作不和谐机器人时,这完全是一场灾难。

我怎样才能让它在升级时安装 PyNaCl(我导入的其他包没有这样的东西)

0 投票
1 回答
948 浏览

python-3.x - PyNaCl 构建问题

所以我试图用 pip 将不和谐的 API 下载到我的 venv 中,但它无法构建 PyNaCl。它说错误是PATH中缺少'make'实用程序,但我只是将它添加到我的环境变量中并尝试在cmd上运行它以确保它已正确安装。关于可能导致问题的任何想法?

我正在运行 Windows 10、python 3.9.1 和 pip 20.3.3 以下是错误消息:

注意:我可以完美地安装不支持语音的 discord 模块,但是,我想利用它的语音功能,我不明白为什么它无法安装。

0 投票
0 回答
82 浏览

python - 错误:无法为使用 PEP 517 且无法直接安装的 PyNaCl、multidict、yarl 构建轮子

当我尝试安装 PyNaCl 时,它向我显示错误:

我正在尝试为不和谐的突袭工具安装它

0 投票
0 回答
485 浏览

pip - 例外:错误:PATH 中缺少“make”实用程序

尝试从名为 DiscordUtils 的 pip 安装包时出现错误异常:错误:PATH 中缺少“make”实用程序和错误:无法为使用 PEP 517 且无法直接安装的 PyNaCl 构建轮子

0 投票
1 回答
710 浏览

python - 如何在 Python 中使用 ssh-keygen ed25519 密钥进行加密?

我花了大约 2 天的时间尝试完成这项工作,并在 Google 上搜索了有关密码学、PyNaCl 和 paramiko 等软件包的信息。