问题标签 [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 投票
6 回答
2280 浏览

security - bcrypt 如何比增加 SHA 迭代次数更具未来性?

我一直在研究 bcrypt 哈希,当然,该方案的一大好处是它的“适应性”。但是,与简单地增加对 SHA-1 哈希进行的迭代量相比,它如何变得更具适应性?比如说,不是 SHA-1 对一个值进行 1000 次散列,而是将其增加到 10,000 次迭代。这不是达到同样的目标吗?是什么让 bcrypt 更具适应性?

0 投票
2 回答
8041 浏览

ruby-on-rails-3 - 最安全的设计配置是什么?

我即将开始在我们公司设置一个仅限员工使用的 Rails 应用程序,用于处理敏感信息。会有防火墙、物理安全措施等。我现在关心的是应用程序的登录过程。

我想使用 Devise 进行身份验证。Devise 最安全的配置是什么?

我想我会做以下事情:

  • 在少量失败的登录尝试后锁定帐户
  • 使用config.paranoid这样攻击者就无法判断他们是否猜到了一个有效的电子邮件地址
  • 也许通过电子邮件禁用密码重置?

一些我不确定的具体事情,用devise.rb斜体引用:

  • 胡椒。设计有一个选项“设置一个辣椒来生成加密密码”。我的理解是,这是一个单一的、特定于应用程序的值,它将“password123”之类的愚蠢密码转换为“password123K#(!@akdlwekdf”或“*%!kd39gpassword123”之类的东西,或者在散列之前的任何东西。这是为了阻止彩虹表攻击,但我从这篇文章的理解是它不如每个密码唯一的盐。再说一遍,这篇文章这篇论文说bcrypt内置了盐。使用bcrypt的胡椒真的有什么好处吗?我可以,是否有必要,也有一个盐柱?
  • 伸展“对于 bcrypt,这是散列密码的成本,默认为 10。” 基于这个问题,我正在考虑使用 12 的工作系数。这看起来合理吗?
  • 密码长度。一般来说,较长的密码似乎更安全,但我不希望它太难以至于用户将其写在某处的一张纸上。如果我们使用 bcrypt,密码长度是否很重要?
  • SSL cookie。对于启用 SSL 的公共应用程序,将 cookie 标记为“只能通过 HTTPS 传输”可以防止Firesheep式攻击。但我不确定拥有一个内部应用程序的安全证书有多大意义。这很傻吗?

我还缺少什么?

0 投票
5 回答
178856 浏览

security - bcrypt 怎么能有内置的盐?

Coda Hale 的文章“如何安全地存储密码”声称:

bcrypt 内置了盐以防止彩虹表攻击。

他引用了这篇论文,其中说在 OpenBSD 的实现中bcrypt

OpenBSD 从一个 arcfour (arc4random(3)) 密钥流生成 128 位 bcrypt salt,并使用内核从设备时序收集的随机数据播种。

我不明白这是怎么回事。在我对盐的概念中:

  • 每个存储的密码都需要不同,因此必须为每个密码生成单独的彩虹表
  • 它需要存储在某个地方以便可重复:当用户尝试登录时,我们会尝试输入他们的密码,重复我们最初存储密码时所做的相同的盐和哈希过程,然后比较

当我使用带有 bcrypt 的 Devise(Rails 登录管理器)时,数据库中没有 salt 列,所以我很困惑。如果盐是随机的并且没有存储在任何地方,我们如何可靠地重复散列过程?

简而言之,bcrypt 怎么能有内置的 salts呢?

0 投票
5 回答
38708 浏览

node.js - NodeJS:bcrypt 与原生加密

有人可以指出两者之间的区别以及使用每种情况的示例情况吗?

bcrypt 看起来很棒。

0 投票
1 回答
766 浏览

javascript - 您可以使用 browserify 来要求 node-bcrypt 客户端,然后将哈希发送到服务器吗?

您可以使用 browserify 来要求 node-bcrypt 客户端,然后将哈希发送到服务器吗?

这听起来真的很棒,还是它实际上可以提供更多的安全性,然后通过 SSL 将纯文本传递给服务器?如果我们通过 websockets 传递明文怎么办?

谢谢!

0 投票
2 回答
2645 浏览

php - 有没有办法在 PHP 5.2 中使用 bcrypt“散列”?

我正在运行一个带有密码哈希的网站,但我认为当前的算法是不够的。我尝试将 PHP 的 crypt() 与 blowfish 选项一起使用,但我的 PHP 版本只有 5.2,因此未启用 CRYPT_BLOWFISH。

我见过可以通过 Blowfish 加密的 3rd 方库,但没有一个库可以进行完整的 Bcrypt 散列。您知道有没有不使用 crypt() 函数而具有 bcrypt 散列的 PHP 库?或者,更好的是,将第 3 方河豚加密算法输入第 3 方 bcrypt 散列算法的任何方法?

澄清一下,我无法安装更新版本的 PHP,因为我在共享主机上。

我真的很感激任何建议!谢谢!

0 投票
3 回答
21553 浏览

codeigniter - 使用 Code Igniter 存储密码的最安全方法是什么?

我正在为我当前的项目使用 Code Igniter。

到目前为止,我正在使用MD5进行密码散列,但我在很多地方都读过,这样做不是一个好习惯。

我应该带什么去?

  1. 使用
  2. 或者我应该使用bcrypt

另外,如果推荐使用bcrypt,那么如何将它与 Code Igniter 一起使用?

编辑

我已将这些文件放入application/libraries

  1. 密码哈希.php
  2. c/Makefile
  3. c/crypt_private.c

在我的控制器中,我正在使用此代码 -

我收到这些错误 -



更新

已删除PasswordHash.php,现在使用SimpleLoginSecure

0 投票
2 回答
1587 浏览

ruby-on-rails - PHP 和 Bcrypt

可能重复:
如何在 PHP 中使用 bcrypt 对密码进行哈希处理?

我正在使用 PHP 开发 API。我想要从中迁移的 API 的先前版本是使用 Rails 3 构建的。

我只有一个问题。用户存储的密码使用以下技术加密。

我怎样才能在 PHP(Codeigniter)中做同样的事情,以便用户可以继续使用他们的旧密码?

感谢所有帮助!

0 投票
3 回答
976 浏览

php - 随机盐 + 散列通行证或随机盐 + crypt()'ed 通行证?

我正在尝试为我的网站制作一个或多或少安全的登录系统,我没有太多时间来保护东西,所以我边走边学。想听听一些关于以下哪个更好以及为什么的观点。(或者我在某个地方犯了错误?)

或者(不需要在数据库中使用 $salt ......)

或(我也需要数据库中的 $salt ......)

0 投票
5 回答
5330 浏览

hash - bcrypt 和多次散列有什么区别?

bcrypt比,比如说,

鉴于它的炒作,我有一种感觉,比我更聪明的人已经发现 bcrypt 比这更好。有人可以解释“聪明的外行”术语的区别吗?