问题标签 [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.

0 投票
1 回答
37012 浏览

java - 我需要用 bcrypt 存储盐吗?

bCrypt 的 javadoc有如何加密密码的代码:

要检查明文密码是否与之前已散列的密码匹配,请使用 checkpw 方法:

这些代码片段暗示我随机生成的盐被扔掉了。是这种情况,还是这只是一个误导性的代码片段?

0 投票
2 回答
58269 浏览

c# - BCrypt 是在 C# 中使用的一个很好的散列算法吗?我在哪里可以找到它?

我读过在散列密码时,许多程序员建议使用 BCrypt 算法。

我正在用 C# 编程,想知道是否有人知道 BCrypt 的良好实现?我找到了这个页面,但我真的不知道它是否是假的。

选择密码哈希方案时应该注意什么?BCrypt 是一个“好的”实现吗?

0 投票
3 回答
5394 浏览

java - 密码散列使用什么?有什么理由不使用 jBCrypt?

我计划在一个新的 Web 应用程序中使用jBCrypt进行密码散列,因为它应该是我读过的最好的。因为在我调查是否有任何理由不使用它之前我没有使用它。

我有这个:

  • 我没有在 Maven 存储库中找到它(在 mvnrepository.org 搜索 jbcrypt 和 bcrypt),这是一个令人沮丧的问题,因为我希望尽可能使用 Maven 存储库管理我的依赖项。如果 jBCrypt 是密码散列的最佳解决方案,我必须设置自己的本地存储库并以这种方式使用它。还是我只是错过了它?也许它在某个地方?
  • 它只是在 0.2 版本,但它可能还是稳定的,版本号低的原因还有其他原因?
0 投票
6 回答
30083 浏览

.net - bcrypt 的 .net 实现

有谁知道 bcrypt 的一个很好的实现,我知道这个问题之前已经被问过,但它得到的回应很少。我有点不确定是否只是选择在 google 中出现的实现,并且我认为在 System.Security.Cryptography 命名空间中使用 sha256 可能会更好,至少那时我知道它是受支持的!你有什么想法?

0 投票
1 回答
13225 浏览

security - scrypt 比 bcrypt 有什么优势?

我正在寻找安全存储密码的方法。有些人声称 scrypt 比 bcrypt “更好”,到目前为止,我还没有看到有人声称反之亦然,或者 scrypt 不安全,尽管有些人称 bcrypt “更有信誉”。

scrypt 比 bcrypt 有什么优势?根据 scrypt 网站,“对 scrypt 进行硬件暴力攻击的成本大约是对 bcrypt 进行类似攻击的成本的 4000 倍”。如果这是唯一的优势,那么我不能只使用更多轮数的 bcrypt 吗?

0 投票
7 回答
7152 浏览

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 的副本。

0 投票
2 回答
6264 浏览

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) 的两倍?

更新

这是修复:

0 投票
1 回答
659 浏览

c# - jBCrypt 0.3 C# 端口 (BCrypt.net)

在查看原始 jBCrypt v0.1 C# 端口中的错误后:BCrypt.net相关问题)。我决定将新的 jBCrypt 代码与旧的 C# 端口进行比较,以查找差异和潜在问题,例如相关问题的错误。

这是我发现的:

如果先验不正确,下面会修复它吗?

0 投票
2 回答
1936 浏览

ruby - BCrypt 说长而相似的密码是等价的——我的问题,gem 还是密码学领域的问题?

我一直在尝试使用 BCrypt,并发现了以下内容。如果重要的话,我正在运行 ruby​​ 1.9.2dev (2010-04-30 trunk 27557) [i686-linux]

起初我认为一旦密码达到一定长度,不同之处就会在所有散列中丢失,只有当它们非常不同(即不同长度)时才会被识别为不同。根据我对哈希函数的了解,这对我来说似乎不太合理,但我没有看到更好的解释。

然后,我尝试缩短每个 long_strings 以查看 BCrypt 从哪里开始能够区分它们,我发现如果我将每个长字符串缩短到 100 个字符左右,最后的尝试('passwor')将开始也返回 true。所以现在我不知道该怎么想。

对此有何解释?

0 投票
1 回答
920 浏览

authentication - 使用 bcrypt 对密码进行哈希处理时对 webapps 的身份验证

我创建了一个需要身份验证的 GWT 项目。最初,用户的密码是纯文本的,但现在我想用 BCrypt 对它们进行哈希处理。我进行了搜索,但找不到描述如何使 Jetty 针对 BCrypt 散列密码进行身份验证的地方。

我使用纯文本格式和 SSL 将密码发送到服务器。我需要做什么才能使 Jetty 散列此密码并将其与数据库中的密码进行比较?

谢谢;