问题标签 [argon2-ffi]

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 投票
3 回答
2706 浏览

php - 在启用 Argon2 的 Amazon Linux 2 上安装 PHP

我在启用 Argon2 进行密码散列时遇到问题。我正在从 Amazon Linux 2 的源代码构建 PHP,但是一旦构建完成并编译 PHP,PASSWORD_ARGON2I常量未定义且算法不可用。

我尝试了许多不同的方法来使用不同的库来编译 PHP,但它们都没有给我我需要的 Argon2 算法。下面我将列出我已采取的一些步骤:

1) 送旗--with-sodium

使用此标志编译完成,但运行包含该函数的测试脚本password_hash()显示 Argon2I 不可用。

2) 使用标志编译--with-password-argon2

由于缺少库,这无法编译,这可以在下面的错误中看到。

由此,我假设我缺少标志工作所需的库,因此我安装了Libsodium。再试一次也有同样的结果。

3)接下来,我会根据教程中的建议安装更多依赖项。它们是: - argon2 - libargon2-0 - libargon2-0-dev

这确实给了我argon2可以工作的 cli 工具,但是再次编译 PHP 并不能解决同样的错误。

在这一点上,我不确定我的下一步是什么,任何帮助将不胜感激。

0 投票
1 回答
2630 浏览

cryptography - 使用 BouncyCastle 库的 Argon2 示例

从 1.61 版开始,BouncyCastle 库支持基于 Argon2 密码的密钥派生函数。但是,我找不到如何通过 BouncyCastle API 使用 Argon2 算法的示例。有人可以给个提示吗?非常感谢。

0 投票
1 回答
526 浏览

node.js - SyntaxError: await 仅在带有 argon2 的异步函数中有效

我在我的密码应用程序中实现了 argon2

但是得到一个错误SyntaxError: await 仅在异步函数中有效。 我如何使用异步功能?

0 投票
2 回答
4103 浏览

php - PHP 警告:在 php 7.3 中使用 password_hash() 时使用未定义的常量 PASSWORD_ARGON2ID

我最近通过 Plesk 的 Web GUI 安装了 PHP 7.3.6,用于 Web 应用程序的开发副本,因为我打算将我们的生产环境从 php 7.0 更新到 7.3。我决定借此机会将我们的密码散列从 PBKDF2 升级到 Argon2ID,因为 PHP 核心已经包含了它。我很惊讶地收到一条警告,指出 PASSWORD_ARGON2ID 常量未定义,因为我知道它是在 php 7.3.0 中添加的。

我尝试搜索此错误的任何实例,我发现唯一相关的是 Laravel 论坛中的这篇不详细的帖子:

https://laracasts.com/discuss/channels/laravel/use-of-undefined-constant-password-argon2id-assumed-password-argon2id?page=1

该应用程序托管在与 MediaTemple 共享的 vps 上。Centos 7,使用 nginx 作为 Apache 的反向代理。它是运行 7.3.6 的开发子域,与运行应用程序生产版本 7.0.33 的主域一起运行。

我希望定义 PASSWORD_ARGON2ID 常量,但报告为未定义:

0 投票
0 回答
255 浏览

php - 如何通过 phpMyAdmin 为 argon2 哈希重置密码

我曾经将密码存储在 sh1 或 md5 的数据库中,例如:

通过 phpMyAdmin 重置密码非常容易 - 只需编辑用户表,写入密码,在功能字段中选择 md5 或 sh1 并更新记录。

由于我已将密码哈希更改为 argon2,因此通过 phpMyAdmin 重置似乎很困难或不可能。

这是我在数据库中保存密码的方式。有人可以指导我如何通过 phpMyAdmin 重置此密码吗?

0 投票
1 回答
887 浏览

hash - Argon2id 散列缓慢(大方差)

我正在使用通过 Isopoh.Cryptography.Argon2 NuGet 包提供的 C# Argon2 实现(来自此处的最新版本 1.1.2:https ://github.com/mheyman/Isopoh.Cryptography.Argon2 )。生成和验证 Argon2 哈希有时很快,有时极慢(几秒钟),尽管我理解下面的配置是低成本的。

我的 Argon2 配置如下:

这导致 Argon2 散列显示以下配置标头:

我编写了一个性能分析器,发现在大约 10 到 12 次迭代之后,每次迭代的实现(大部分)都会变慢,即使在重复测试中也是如此。速度慢约 2 个数量级或更多(从约 10 毫秒到几秒),这让我相信存在垃圾收集/内存泄漏问题。

在此处输入图像描述

0 投票
0 回答
76 浏览

php - memory_get_peak_usage 未反映 PHP Argon2 内存使用情况

我想在我的系统中使用 Argon2 作为密码的散列算法,我试图找到正确的参数来设置它。我正在使用 PHP。

在测试一些变体时,我试图了解使用 Argon2 对内存的影响。

文档提到了这一点:

但是,使用 PHP 的函数memory_get_peak_usage,我的脚本消耗的内存量似乎从未受到影响。这是一个例子:

在我的系统上,这需要大约 0.5 秒才能执行,但内存使用量始终为 2MiB。

有人可以解释为什么 PHP 内存使用不受使用memory_costArgon2 参数的影响吗?

0 投票
2 回答
8006 浏览

python - Argon2 库,可以在没有秘密的情况下对密码进行哈希处理,并且使用看起来不可解析的随机盐

我正在寻找 Python 应用程序中散列密码的不同替代方案。首先,我决定使用 Flask-bcrypt ( https://github.com/maxcountryman/flask-bcrypt ),但后来决定使用 Argon2。Python 最流行的 Argon2 绑定是 argon2-cffi ( https://github.com/hynek/argon2-cffi )。

根据它的文档(https://argon2-cffi.readthedocs.io/en/stable/api.html),我需要做的就是使用 3 种方法:

  • hash散列密码
  • verify将密码与哈希进行比较
  • check_needs_rehash查看是否应在更改散列参数后重新散列密码

有两件事让我困惑。

1)盐是随机的,使用os.urandom. 因此,我想知道该verify方法是否能够以某种方式从哈希中提取盐?或者换句话说,既然我对盐是什么没有发言权并且无法保存它,那么该verify方法实际上如何将任何密码与使用随机盐散列的密码进行比较?我是否应该以某种方式从hash自己的返回值中解析盐,并将其与散列值分开存储?还是散列应该按原样存储在文档中,原封不动,并且 Argon2 能够以某种方式验证密码?如果 Argon2 确实可以从哈希中提取盐,那么在这种情况下使用盐如何更安全,因为获得哈希密码的敌对实体也应该能够提取盐?

2)默认情况下,我不向该hash方法提供任何秘密,而是密码本身似乎被用作秘密。这安全吗?我不提供散列方法的秘密有什么缺点?

0 投票
1 回答
352 浏览

node.js - 如何在 Google Cloud Platform 上的 Node.js 服务器上运行 Argon2?

我目前正在 Google App Engine Standard env 上构建一个网络应用程序。使用 Node.js 10.16.3。我想使用Argon2 包。不幸的是,我不知道如何在 Windows7 上本地安装它,也不知道如何在 gcloud 上安装它。

包装页面上说:

“安装之前:在继续安装之前,您必须进行 node-gyp 全局安装,以及 GCC >= 5 / Clang >= 3.3。在 Windows 上,您必须在 Visual Studio 2015 或更高版本下编译。”

我已经在全球范围内安装了 node-gypnpm install -g node-gyp以及所需的 Python 最新版本。我还安装了GCC,然后用来npm install argon2安装我的项目所在的包。我不确定是否理解 Visual Studio 部分。

尝试使用 运行服务器时npm start,出现此错误:

我错过了什么吗?node-gyp也不被认可

0 投票
0 回答
249 浏览

argon2-ffi - 在 macbook 上安装节点 Argon2 时出现问题

尝试在 MacBook 2019 上安装节点 argon2。我希望它会成功

按照 npm 上的说明进行操作 - argon2

错误信息:make: g++-6: No such file or directory