问题标签 [scrypt]
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.
python - 无法从 hashlib 导入 scrypt
我尝试使用标准库中的 import scrypt 。
在我的本地机器(ubuntu 16.04)和服务器(heroku/heroku 堆栈)上,导入都失败了。
在两个系统上都安装了 openssl 1.0.2g。这是一个已知问题还是我该如何解决?
scrypt - SCrypt 在 x64 平台上产生不同的结果
我在我的 android 应用程序中使用这个库https://github.com/wg/scrypt 。我可以成功编译它并在我的 android 应用程序中绑定本机实现,但是如果 scryptN 函数在 32 位或 64 位环境中执行,它会产生不同的结果,这怎么可能?相反,java 实现在两种环境下都运行良好
要重现该问题,只需使用 NDK 构建共享库并尝试运行此功能
如果您在 32 位架构或 64 位架构上运行,您将获得不同的输出
谢谢
windows-7 - 如何在 OpenSSL 中启用 scrypt 算法
我正在尝试在 Cygwin 上的 OpenSSL 1.1.0 中启用 scrypt 算法。我使用了配置选项enable-scrypt
,但它不起作用。
构建 OpenSSL 的命令:
如何在 OpenSSL 中激活 scrypt 算法?
javascript - 在 Node/Express 服务器上复制 Rails/AuthLogic Scrypt 哈希比较
我正在将一个较旧的 ruby-on-rails 站点迁移到 node/express/react/redux,并且在验证用户现有密码时遇到了麻烦。该站点目前正在使用 AuthLogic(scrypt) 进行身份验证/密码散列,一些较旧的帐户密码仍然使用 sha512 AuthLogic 算法进行散列。
我一辈子都想不出如何在 Node.js 中复制 authLogic 的 scrypt 算法。我已经查看了 AuthLogic 的 ruby 源代码和底层的 scrypt 包,这给了我一些线索。
我正在使用最新版本的 npm scrypt 包(我已经尝试了其他一些没有明显差异的包)。
存储的哈希如下所示:
400$8$1d$3fbb0d3688d9da6d$5dd919ace6bdf946d48946e9dd61f0afc5116986433633e24e58809c12b5ce9a
数据库还存储了一个唯一的 salt 参数:fbMQa7EhFp5tdOhNsT
根据 scrypt gem 源,看起来 $ 分隔的段是成本因素和盐:
n, r, p = args[0].split('$').map{ |x| x.to_i(16) }
来自 Scrypt gem scrypt.rb源。
根据代码,看起来前三个 $ 分隔位是 scrypt 的“成本”因素,最后一个是盐。我不知道为什么这种盐与存储在数据库中的盐不同,或者我应该如何插入它们。这让我尝试:
结果是与数据库存储不同的哈希,但至少是正确的长度。
80e302f9f8942ec9d81fe217c03730b5b8256b22cd91ad2dd2a448ec588ec390
所以我尝试了一个比较:
但这失败了,告诉我数据不是 scrypt 散列数据。我尝试在散列中添加和不使用 $ 分隔符的各种成本因子和盐,但无济于事。我尝试将散列转换为缓冲区对象,也无济于事。尝试使用上述选项的 kdfSync 也失败了(错误计算派生密钥)。在线工具也不会将存储的哈希识别为 scrypt 哈希。
帮助我红宝石魔术师(或其他任何有密码学的人),你是我唯一的希望。
java - Bouncy Castle SCrypt 实施是否包括结果中的因素?
我很确定它没有,但我想确认 Bouncy Castle for Java 中的 SCrypt 实现是否SCrypt.generate()
包含结果中的参数(就像 NodeJS 的实现一样)。
java - 如何将 Bouncy Castle SCrypt Byte 数组转换为字符串格式或 HexString 格式?
充气城堡 SCrypt Java API。
上面的生成方法给出了byte[ ]
格式,我需要将它作为字符串存储在数据库中,
toString()
不利于比较,我预计toString()
.
有没有办法将它安全地转换为 String ?
充气城堡还有其他选择吗?
java - 为什么使用断点 (Eclipse) 跳过 SCrypt.generate() (Bouncy Castle Java API) 行会阻止调试过程?
在调试期间我一直在eclipse中按F6
当调试器行到达第 56 行时,调试被阻止,无法继续/响应,我将不得不终止调试。
这种行为的原因是什么?是因为 SCrypt.generate 方法吗?
我正在使用 Bouncy Castle Java API 进行散列。
如果我不在该行上使用断点,一切都会成功执行。
ios - Swift 3.0 (iOS) 中用于密码散列的 Scrypt 散列算法
我正在尝试找到一个库来使用 Scrypt 算法实现密码散列(带盐)。我的问题类似于 stackoverflow 中已经提出的问题(Swift 应用程序中的哈希密码)
我分别在 swift 和 Objective c 中找到了以下两个库,但是从这些库生成的哈希字符串与在服务器上生成的不匹配。
有人可以帮忙寻找可用于 Swift 3.0 iOS 应用程序的库,用于使用盐进行密码散列。
谢谢你。
问候,
纳格拉吉瓦德吉尔
node.js - nodejs scrypt 包中 Firebase SCrypt 参数的使用
我已经为此苦苦挣扎了一段时间,希望有人以前做过,并且可以帮助我。我向 Firebase 人员请求 scrypt 参数,以便将我们的用户身份验证从 Firebase 迁移到我们自己的服务器。现在我得到了这些参数,但我不知道它们应该如何映射到节点 scrypt 包(https://www.npmjs.com/package/scrypt)。Firebase 参数的格式如下:
不知何故,这些应该映射到 nodejs scrypt 参数上,但我找不到相似之处。任何帮助将非常感激!
javascript - 将 WarpWallet 的哈希算法从 javascript 转换为 C#
我正在尝试在 C#中实现warpwallet代码。我将 cryptsharp 用于其 scrypt 和 PBKDF2 实现。但是,我似乎得到了与真实网站不同的结果。
这是我的代码:
根据网站(我修改了代码以登录到控制台),scrypt 哈希结果应该是
并且 PBKDF2 哈希结果应该是
我对 scrypt 的结果是
和 PBKDF2
我不明白我做错了什么。cryptsharp 的实现不正确吗?我在某个地方错过了一步吗?我不太了解javascript,所以这是完全可能的。任何帮助,将不胜感激。