问题标签 [bcrypt]
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.
java - 我需要用 bcrypt 存储盐吗?
bCrypt 的 javadoc有如何加密密码的代码:
要检查明文密码是否与之前已散列的密码匹配,请使用 checkpw 方法:
这些代码片段暗示我随机生成的盐被扔掉了。是这种情况,还是这只是一个误导性的代码片段?
c# - BCrypt 是在 C# 中使用的一个很好的散列算法吗?我在哪里可以找到它?
我读过在散列密码时,许多程序员建议使用 BCrypt 算法。
我正在用 C# 编程,想知道是否有人知道 BCrypt 的良好实现?我找到了这个页面,但我真的不知道它是否是假的。
选择密码哈希方案时应该注意什么?BCrypt 是一个“好的”实现吗?
java - 密码散列使用什么?有什么理由不使用 jBCrypt?
我计划在一个新的 Web 应用程序中使用jBCrypt进行密码散列,因为它应该是我读过的最好的。因为在我调查是否有任何理由不使用它之前我没有使用它。
我有这个:
- 我没有在 Maven 存储库中找到它(在 mvnrepository.org 搜索 jbcrypt 和 bcrypt),这是一个令人沮丧的问题,因为我希望尽可能使用 Maven 存储库管理我的依赖项。如果 jBCrypt 是密码散列的最佳解决方案,我必须设置自己的本地存储库并以这种方式使用它。还是我只是错过了它?也许它在某个地方?
- 它只是在 0.2 版本,但它可能还是稳定的,版本号低的原因还有其他原因?
.net - bcrypt 的 .net 实现
有谁知道 bcrypt 的一个很好的实现,我知道这个问题之前已经被问过,但它得到的回应很少。我有点不确定是否只是选择在 google 中出现的实现,并且我认为在 System.Security.Cryptography 命名空间中使用 sha256 可能会更好,至少那时我知道它是受支持的!你有什么想法?
security - scrypt 比 bcrypt 有什么优势?
我正在寻找安全存储密码的方法。有些人声称 scrypt 比 bcrypt “更好”,到目前为止,我还没有看到有人声称反之亦然,或者 scrypt 不安全,尽管有些人称 bcrypt “更有信誉”。
scrypt 比 bcrypt 有什么优势?根据 scrypt 网站,“对 scrypt 进行硬件暴力攻击的成本大约是对 bcrypt 进行类似攻击的成本的 4000 倍”。如果这是唯一的优势,那么我不能只使用更多轮数的 bcrypt 吗?
windows - 在 Windows 上安装 bcrypt-ruby gem
我正在尝试在 Windows Vista 上安装bcrypt-ruby 。
到目前为止,我已经能够安装来自 MS 知识库文章的 nmake.exe 和安装 Visual Studio 2008 Express 的 cl.exe。
但是,我现在遇到了这个错误:
我已经执行了大概设置环境的 VCVARS32.bat。我怀疑警告和错误是由于安装了较新版本的 Visual Studio。
有没有人成功做到这一点?我没有 Visual Studio 6.0 的副本。
c# - 为什么 BCrypt.net GenerateSalt(31) 会立即返回?
在阅读了 Jeff Atwood 关于存储密码的帖子后,我偶然发现了 BCrypt.net,这让我想到了 Thomas Ptacek 建议使用 BCrypt来存储密码。这最终让我想到了 BCrypt 的这个 C# 实现
在上面最后一个链接的评论中,有人问“为什么 GenerateSalt(30) 永远需要,但 GenerateSalt(31) 似乎根本不需要时间?”
我运行了 BCrypt.HashPassword(password, BCrypt.GenerateSalt(31)) 并在 0 毫秒内得到了结果。
我已经运行 BCrypt.HashPassword("password", BCrypt.GenerateSalt(30)) 超过 5 分钟,但仍然没有结果。
我意识到多年来我们可能不需要随机生成的 30 个字符的盐来创建我们的密码哈希(或BCrypt 的不可逆加密)。编辑我应该稍微阅读一下代码,logRounds 与盐长度没有任何关系。谢谢阿罗诺特。
那么,为什么 GenerateSalt(31) 几乎会立即返回一个值(而它需要的时间大约是 GenerateSalt(30) 的两倍?
更新
这是修复:
c# - jBCrypt 0.3 C# 端口 (BCrypt.net)
在查看原始 jBCrypt v0.1 C# 端口中的错误后:BCrypt.net(相关问题)。我决定将新的 jBCrypt 代码与旧的 C# 端口进行比较,以查找差异和潜在问题,例如相关问题的错误。
这是我发现的:
如果先验不正确,下面会修复它吗?
ruby - BCrypt 说长而相似的密码是等价的——我的问题,gem 还是密码学领域的问题?
我一直在尝试使用 BCrypt,并发现了以下内容。如果重要的话,我正在运行 ruby 1.9.2dev (2010-04-30 trunk 27557) [i686-linux]
起初我认为一旦密码达到一定长度,不同之处就会在所有散列中丢失,只有当它们非常不同(即不同长度)时才会被识别为不同。根据我对哈希函数的了解,这对我来说似乎不太合理,但我没有看到更好的解释。
然后,我尝试缩短每个 long_strings 以查看 BCrypt 从哪里开始能够区分它们,我发现如果我将每个长字符串缩短到 100 个字符左右,最后的尝试('passwor')将开始也返回 true。所以现在我不知道该怎么想。
对此有何解释?
authentication - 使用 bcrypt 对密码进行哈希处理时对 webapps 的身份验证
我创建了一个需要身份验证的 GWT 项目。最初,用户的密码是纯文本的,但现在我想用 BCrypt 对它们进行哈希处理。我进行了搜索,但找不到描述如何使 Jetty 针对 BCrypt 散列密码进行身份验证的地方。
我使用纯文本格式和 SSL 将密码发送到服务器。我需要做什么才能使 Jetty 散列此密码并将其与数据库中的密码进行比较?
谢谢;