问题标签 [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.
ubuntu - 无法启动 Ruby(机架)应用程序 - 部署后,ubuntu 和 nginx(1.0.6)上的 rails 3.1.0 应用程序出现乘客(3.0.9)错误
这是说 bcrypt 未加载的错误。rails 应用程序没有使用 Devise 进行身份验证,并且 gem bcrypt 不在 Gemfile 中。有时,网络服务器会抛出错误,说生成服务器无法启动。gem list 显示 bcrypt-ruby 3.0.1 和 3.0.0 都已安装。
上限部署:检查返回:
对这个问题有什么想法吗?谢谢!
symfony - Symfony2 自定义密码编码器(bcrypt)
我编写了自己的密码编码器,它实现了PasswordEncoderInterface
:
编码器注册为 id 的服务bcrypt.password.encoder
。但我不知道,如何告诉 symfony 使用它。目前app/config/security.yml
看起来像这样:
顺便说一句,我没有使用任何学说实体。
编辑:Symfony\Component\Security\Core\User\User
是我的用户对象。我修改security.yml
了一下:
这会导致致命错误:
这对我来说没有任何意义。
python - auth 中的 bcrypt 机制(无匹配哈希)
我正在尝试使用 python (pymongo) 和 bcrypt 为 mongodb 实现登录方法。当我尝试比较哈希时,问题就来了,它们总是不同的:$。
这是我的测试代码(首先我把一个密码散列的用户放入 mongodb):
使用蟒蛇 scrypt :
一旦我们将它放入数据库中,我正在尝试创造魔法:D:
但是当我看到哈希值时问题就来了:
这和我之前生成的完全不同!!!. 另外我一直在阅读我不需要保存 bcrypt.gensalt(12) 。所以我有点困惑。
感谢阅读,对我的身份验证实施有什么问题有什么帮助吗?
posdata(更多代码):
是的,我确信数据库给了我正确的字段。
python - 使用我自己的 gensalt() - 足够安全吗?
由于bcrypt的机制是:
我想将它用于身份验证。问题是我想从客户端制作它,所以我需要客户端中的盐部分。
我想,如果我使用我自己的gensalt(username)
——它从用户名生成一个盐——对客户端来说总是使用与其他用户不同的相同盐可能是件好事。
这是 bcrypt 和我的项目的一个很好的近似值,还是我打破了 bcrypt 机制的安全性?
我在想,如果有人想解密密码,就不可能使用彩虹表,因为他必须为每个用户使用一个。我在安全问题方面没有足够的经验,不知道这是否会好。也许它hashpw
的速度足以在 PC 上进行蛮力。
grails - Bcrypt 为相同的输入生成不同的哈希?
我刚刚在我的新 grails 项目中添加了注册功能。为了测试它,我通过提供电子邮件和密码进行了注册。在将密码保存到数据库之前,我正在使用 bcrypt 算法对密码进行哈希处理。
但是,当我尝试使用注册时提供的相同电子邮件和密码登录时,登录失败。我调试了应用程序,发现当我尝试与数据库中已经散列的散列进行比较时,为相同密码生成的散列不同,因此登录失败(LoginController 中的 Registration.findByEmailAndPassword(params.email,hashPassd) .groovy 返回 null)。
这是我的域类 Registration.groovy:
这是我的 LoginController.groovy:
这是我的 Config.groovy 中的一个片段,告诉 grails 使用 bcrypt 算法来散列密码和密钥轮数:
php - 散列“记住我”cookie 令牌的最佳方法
我正在尝试实现“记住我”功能,遵循此处提供的指南:基于表单的网站身份验证的权威指南,以及此处: http: //fishbowl.pastiche.org/2004/01/19/persistent_login_cookie_best_practice/
似乎“cookie令牌”在存储在数据库中时应该进行哈希处理(如果攻击者可以访问数据库,未哈希处理的令牌看起来像普通的登录名/密码,允许登录网站)。
寻找一个好的散列算法,我发现了这个使用bcrypt的推荐技术:https ://stackoverflow.com/a/6337021/488666
我已经尝试过了,发现建议的轮数 (15) 会导致处理时间非常慢(哈希 2,3s + 在 Intel Core 2 Duo E8500 + 4 GB RAM 上验证 2,3s)
我知道散列算法在阻碍攻击者方面应该相对较慢,但在那个级别上,它会阻碍用户使用网站:)
您认为更少的轮次(例如 7 轮,将处理时间降低到 10 毫秒 + 10 毫秒)就足够了吗?
java - 在 Glassfish 3.0 安全领域中使用 bcrypt
我目前正在将 Web 应用程序中的密码处理从 unsalted MD5 更改为 bcrypt。这是一个标准的 JSF 应用程序,在 Glassfish 3.0.1 上运行。
使用 jBCrypt 可以很容易地创建和存储哈希值。但是现在我不知道如何在用户登录时在实际身份验证中使用 bcrypt。由于它是 JSF,因此使用 HttpServletRequest#login 方法触发登录,其余的由 Java EE 堆栈和 Glassfish 处理。
简单地将安全领域摘要算法设置为“无”,然后在将密码传递给登录方法之前对其进行哈希处理是行不通的,因为我没有在创建哈希时最初使用的生成的盐 jBCrypt。我也考虑过提供自定义安全领域的实现,但对于这么小的变化来说,这似乎有很多工作。
有没有更简单的解决方案?还是有人已经实施了类似的安全领域?
php - 我正在为 php 使用 bcrypt,并希望潜在的黑客需要很长时间才能登录
我引用了这个答案:https ://stackoverflow.com/a/4766811/1114105
我们重新对密码进行哈希处理,但实际上我们并没有对哈希做任何事情(我们在 CheckPassword 函数中使用 POST 提交的明文密码进行身份验证)。黑客不能绕过重新散列部分吗?
下面是我的伪代码。
如果密码/用户名由 POST 提交,并且 $row['password'] 是 sql 中的散列密码。
注意:我发现工作因素对 CheckPassword 运行的时间没有影响。它只会增加 HashPassword 的时间。
java - jBCrypt 替代方案?官方线程安全,拥有更大的社区
要散列密码(单向),看起来bcrypt 是最好的。
我即将开始使用jBCrypt,但我有一些担心:
- 没有邮寄名单。
- 整体活动非常少。
- 错误跟踪器只出现过 1 个问题,并且这 1 个问题没有收到任何活动迹象。
- 仅发布了 3 个版本。
- jBCrypt 并不声称是线程安全的。虽然大多数人似乎都同意源代码看起来是线程安全的,但在官方网站上明确声明会好得多。
是否有每个人都在使用的类似的、更主流的库,但我以某种方式错过了?(Java,开源)
还是它实际上是“最主流”的?
python - 如何为 bcrypt.hashpw 设置盐?
第二行出现错误。
该怎么办?我每次都需要设置一些默认的盐值而不是随机盐。