问题标签 [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.
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
现在我看到以下错误消息:
任何想法?
windows - 如何使 Libsodium 在 Windows 上可用于 Rust(初学者指南)?
我找不到任何明确的答案。
我是一名 Rust 初学者(阅读本书,编写和编译简单的程序)。几乎没有 C/C++ 的知识。该平台是 Windows 7 64 位。Rust 稳定(由 Rustup 管理),我更喜欢 GNU ABI。
我正在编译一个需要 libsodium 的 git 存储库,并且编译退出时出现未找到 libsodium 的错误。
是否有为我的 Rust 设置安装 libsodium 的分步指南?我发现的文档过多地假设了读者的知识。
我确实设法在 MSYS2 中编译和“安装”libsodium,但是 Rust(我在 MSYS2 内部看不到)仍然找不到它。
这样做的更好方法是什么?
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=
php - 在 Centos 6 上安装 libsodium 时遇到问题
我正在运行 CENTOS 6.7 和 Apache 以及 PHP 5.4.x。我正在使用 EPEL 和 REMI 存储库。我正在尝试安装libsodium
扩展。
我的理解是我需要先安装libsodium
,然后是扩展。基于谷歌搜索,为了获得正确的版本,我结束了:
我得到以下结果:
然后我输入:
我得到:
您可以看到错误似乎表明未安装 libsodium。我错过了一步吗?
php - 在 PHP 中安全地加密或创建用于外部通信的唯一标识符?
我们正在开发一个 PHP 应用程序,它将个人和匿名信息(“报告”)存储在 MySQL 数据库中。
对于每个人,可能会有几份“报告”,这些“报告”会发送到第三方登记处。
问题是第三方不知道哪些报告是针对同一个人的。因此,我们希望在发送报告时为该人添加一个唯一但无法追踪的 ID 。(由于第三方不知道我们内部人员的身份)
由于第三方可能希望通过其 id 与给定人员进行通信,因此我们需要能够将该 id解密为与我们的人员记录一起存储的 id。(所以散列不起作用)。我们还希望在不久的将来会有更多的外部方,我们希望为每个人提供不同的唯一 ID 。(通过使用不同的加密密钥)。
我们可以使用什么加密方法来加密一个人的 id,所以它总是会给出相同的结果?查看(例如)libsodium 扩展文档,我认为我们 每次加密一个人的 id 时都必须使用相同的随机数。这似乎是非常不鼓励的。
通过 php 的openssl_encrypt使用 AES 加密时,同样的问题将适用,其中:
如果通过 iv 参数传入空值,则会发出 E_WARNING 级别错误。
mamp - 在 MAMP 环境中安装 libsodium
我正在尝试安装 libsodium(按照本指南https://paragonie.com/book/pecl-libsodium/read/00-intro.md#installing-libsodium)。当我尝试使用 pecl install libsodium 时,我得到以下结果:
谁能告诉我为什么这不起作用,以及如何克服它?
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运行示例代码
c - 如何正确使用 libsodium 以使其在版本之间兼容?
我打算将一堆记录存储在一个文件中,然后用libsodium对每个记录进行签名。但是,我希望我的程序的未来版本能够检查当前版本所做的签名,反之亦然。
对于当前版本的 Sodium,使用 Ed25519 算法进行签名。我想默认原语可以在新版本的 Sodium 中发生变化(否则我认为 libsodium 不会公开选择特定原语的方法)。
我是不是该...
- 始终使用默认原语(即
crypto_sign
) - 使用特定的原语(即
crypto_sign_ed25519
) - 执行 (1),但将 的值存储
sodium_library_version_major()
在文件中(在专用的“钠版本”字段或通用“文件格式修订”字段中)并在当前运行的版本较低时退出 - 做(3),还要存储
crypto_sign_primitive()
- 做(4),还要店
crypto_sign_bytes()
和朋友
...或者我应该完全做其他事情吗?
我的程序将用 C 语言编写。
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 可以毫无问题地找到所有内容,但在浏览器中执行脚本却没有。