问题标签 [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.
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 并不能解决同样的错误。
在这一点上,我不确定我的下一步是什么,任何帮助将不胜感激。
cryptography - 使用 BouncyCastle 库的 Argon2 示例
从 1.61 版开始,BouncyCastle 库支持基于 Argon2 密码的密钥派生函数。但是,我找不到如何通过 BouncyCastle API 使用 Argon2 算法的示例。有人可以给个提示吗?非常感谢。
node.js - SyntaxError: await 仅在带有 argon2 的异步函数中有效
我在我的密码应用程序中实现了 argon2。
但是得到一个错误SyntaxError: await 仅在异步函数中有效。 我如何使用异步功能?
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 论坛中的这篇不详细的帖子:
该应用程序托管在与 MediaTemple 共享的 vps 上。Centos 7,使用 nginx 作为 Apache 的反向代理。它是运行 7.3.6 的开发子域,与运行应用程序生产版本 7.0.33 的主域一起运行。
我希望定义 PASSWORD_ARGON2ID 常量,但报告为未定义:
php - 如何通过 phpMyAdmin 为 argon2 哈希重置密码
我曾经将密码存储在 sh1 或 md5 的数据库中,例如:
通过 phpMyAdmin 重置密码非常容易 - 只需编辑用户表,写入密码,在功能字段中选择 md5 或 sh1 并更新记录。
由于我已将密码哈希更改为 argon2,因此通过 phpMyAdmin 重置似乎很困难或不可能。
这是我在数据库中保存密码的方式。有人可以指导我如何通过 phpMyAdmin 重置此密码吗?
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 毫秒到几秒),这让我相信存在垃圾收集/内存泄漏问题。
php - memory_get_peak_usage 未反映 PHP Argon2 内存使用情况
我想在我的系统中使用 Argon2 作为密码的散列算法,我试图找到正确的参数来设置它。我正在使用 PHP。
在测试一些变体时,我试图了解使用 Argon2 对内存的影响。
文档提到了这一点:
但是,使用 PHP 的函数memory_get_peak_usage
,我的脚本消耗的内存量似乎从未受到影响。这是一个例子:
在我的系统上,这需要大约 0.5 秒才能执行,但内存使用量始终为 2MiB。
有人可以解释为什么 PHP 内存使用不受使用memory_cost
Argon2 参数的影响吗?
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
方法提供任何秘密,而是密码本身似乎被用作秘密。这安全吗?我不提供散列方法的秘密有什么缺点?
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
也不被认可
argon2-ffi - 在 macbook 上安装节点 Argon2 时出现问题
尝试在 MacBook 2019 上安装节点 argon2。我希望它会成功
按照 npm 上的说明进行操作 - argon2
错误信息:make: g++-6: No such file or directory