问题标签 [libsodium]

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 回答
198 浏览

nim-lang - 链接到 libsodium 时出现 nim 链接器错误

我在 Windows 7(64 位)上。

我的 nim 版本是:Nim Compiler Version 0.12.0 (2015-12-15) [Windows: i386]

我试图用这个 nim 包装器(https://github.com/judofyr/sodium.nim )构建 libsodium ( https://github.com/jedisct1/libsodium 我已经编译了 libsodiumVS2013 -> Release Win32

我看到libsodium.lib 我已经将 nim 包装器放在它旁边。

所以它看起来像这样:

现在我尝试用 nim c nimwrapper.nim

现在我看到以下错误消息:

任何想法?

0 投票
0 回答
201 浏览

javascript - libsodium 无法在 wkWebview iOS 中为某些 Web 应用程序初始化

0 投票
1 回答
843 浏览

windows - 如何使 Libsodium 在 Windows 上可用于 Rust(初学者指南)?

我找不到任何明确的答案。

我是一名 Rust 初学者(阅读本书,编写和编译简单的程序)。几乎没有 C/C++ 的知识。该平台是 Windows 7 64 位。Rust 稳定(由 Rustup 管理),我更喜欢 GNU ABI。

我正在编译一个需要 libsodium 的 git 存储库,并且编译退出时​​出现未找到 libsodium 的错误。

是否有为我的 Rust 设置安装 libsodium 的分步指南?我发现的文档过多地假设了读者的知识。

我确实设法在 MSYS2 中编译和“安装”libsodium,但是 Rust(我在 MSYS2 内部看不到)仍然找不到它。

这样做的更好方法是什么?

0 投票
2 回答
1323 浏览

java - 无法使用“Libsodium-net”(C#)打开由 TweetNacl(Java)生成的“SecretBox”

我在使用 libsodium-net 库在 C# 中打开 Nacl SecretBox(使用 TweetNaclFast 库在 java 中生成)时遇到问题。我也不能反过来(使用 TweetNaclFast 打开一个 libsodium-net 生成的框)。

在下面的示例中,我将使用 TweetNaclFast (Java) 创建一个 SecretBox,并尝试使用 libsodium-net (C#) 打开它

创建 SecretBox (Java)

创建输出

打开 SecretBox (C#)

打开输出

关于我可能做错了什么的任何想法?


编辑

我想问题出在其中一个库(最有可能是 libsodium-net)上。如果我用相同的变量创建一个 SecretBox,我会得到一个不同的盒子......

使用 TweetNaclFast 创建一个秘密盒子

返回:yDCt/kOLFUWPZpV3deVNUZaH0ZHLVmj9Nvm8QlbVKPe1a/INDw==

使用 libsodium-net 创建一个秘密盒子

返回:AAAAAAAAAAAAAAAAAAAAAMgwrf5DixVFj2aVd3XlTVGWh9GRy1Zo/Tb5vEJW1Sj3tWvyDQ8=

0 投票
2 回答
3238 浏览

php - 在 Centos 6 上安装 libsodium 时遇到问题

我正在运行 CENTOS 6.7 和 Apache 以及 PHP 5.4.x。我正在使用 EPEL 和 REMI 存储库。我正在尝试安装libsodium扩展。

我的理解是我需要先安装libsodium,然后是扩展。基于谷歌搜索,为了获得正确的版本,我结束了:

我得到以下结果:

然后我输入:

我得到:

您可以看到错误似乎表明未安装 libsodium。我错过了一步吗?

0 投票
1 回答
268 浏览

php - 在 PHP 中安全地加密或创建用于外部通信的唯一标识符?

我们正在开发一个 PHP 应用程序,它将个人和匿名信息(“报告”)存储在 MySQL 数据库中。

对于每个人,可能会有几份“报告”,这些“报告”会发送到第三方登记处。

问题是第三方不知道哪些报告是针对同一个人的。因此,我们希望在发送报告时为该人添加一个唯一但无法追踪的 ID 。(由于第三方不知道我们内部人员的身份)

由于第三方可能希望通过其 id 与给定人员进行通信,因此我们需要能够将该 id解密为与我们的人员记录一起存储的 id。(所以散列不起作用)。我们还希望在不久的将来会有更多的外部方,我们希望为每个人提供不同的唯一 ID 。(通过使用不同的加密密钥)。

我们可以使用什么加密方法来加密一个人的 id,所以它总是会给出相同的结果?查看(例如)libsodium 扩展文档,我认为我们 每次加密一个人的 id 时都必须使用相同的随机数。这似乎是非常不鼓励的。
通过 php 的openssl_encrypt使用 AES 加密时,同样的问题将适用,其中:

如果通过 iv 参数传入空值,则会发出 E_WARNING 级别错误。

0 投票
1 回答
898 浏览

mamp - 在 MAMP 环境中安装 libsodium

我正在尝试安装 libsodium(按照本指南https://paragonie.com/book/pecl-libsodium/read/00-intro.md#installing-libsodium)。当我尝试使用 pecl install libsodium 时,我得到以下结果:

谁能告诉我为什么这不起作用,以及如何克服它?

0 投票
2 回答
7333 浏览

c# - Libsodium-net - 无法加载 DLL 'libsodium.dll

我通过 NuGet 安装了 Libsodium-net,并且能够在我的课程中包含 Sodium,但是当我尝试运行它时,我得到了

Sodium.dll 中出现“System.DllNotFoundException”类型的异常,但未在用户代码中处理

附加信息:无法加载 DLL 'libsodium.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

我只是想从 gitbooks 文档 https://bitbeans.gitbooks.io/libsodium-net/content/password_hashing/index.html运行示例代码

0 投票
2 回答
1072 浏览

c - 如何正确使用 libsodium 以使其在版本之间兼容?

我打算将一堆记录存储在一个文件中,然后用libsodium对每个记录进行签名。但是,我希望我的程序的未来版本能够检查当前版本所做的签名,反之亦然。

对于当前版本的 Sodium,使用 Ed25519 算法进行签名。我想默认原语可以在新版本的 Sodium 中发生变化(否则我认为 libsodium 不会公开选择特定原语的方法)。

我是不是该...

  1. 始终使用默认原语(即crypto_sign
  2. 使用特定的原语(即crypto_sign_ed25519
  3. 执行 (1),但将 的值存储sodium_library_version_major()在文件中(在专用的“钠版本”字段或通用“文件格式修订”字段中)并在当前运行的版本较低时退出
  4. 做(3),还要存储crypto_sign_primitive()
  5. 做(4),还要店crypto_sign_bytes()和朋友

...或者我应该完全做其他事情吗?

我的程序将用 C 语言编写。

0 投票
1 回答
781 浏览

php - 在项目中包含 Paragonie Halite 找不到变量和函数

我已经在 Windows 上为 PHP 7 安装了 libsodium,并且正在使用 PHPStorm 开发我的项目。我还安装了来自 Paragonie 的 Halite,如果未正确安装 libsodium 扩展,它甚至无法安装。IDE 还会找到使用的函数,并在单击变量等时打开 libsodium 的拟合文件。

但不幸的是,在我的设置中,我收到以下错误:

我的 index.php 文件如下所示:

我还使用 Jquery 提交我的表单,这会成功执行以下函数(它没有找到 libsodium 函数/变量):

我已经将 php_libsodium.dll 安装在扩展目录中,并将 libsodium.dll 放在 php 服务器的目录中。只是为了尝试,我稍后也将它放在 system32 目录和 Syswow64 目录中 - 两者都没有改变任何东西。

我刚刚用作曲家从 paragonie 安装了 halite 库,但不幸的是,使用它比我想象的要难。我还尝试在没有 Halite 的情况下使用 libsodium 扩展,但这会导致类似的错误,即找不到所需的类、常量和函数等。

我也尝试过更改我的自动加载器,但奇怪的是,IDE 可以毫无问题地找到所有内容,但在浏览器中执行脚本却没有。