问题标签 [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 回答
2365 浏览

ruby-on-rails - bcrypt 的解密器

标题非常不言自明。我不确定这是否存在,因为它会极大地损害 bcrypt 的安全性,但我在 rails 应用程序中使用 Devise 并忘记了我的密码。但是我可以访问服务器并找到信息。我可以看到加密的密码,需要解密它。

我不想要这个问题的替代解决方案,我只想要一个解密器,这样我就可以得到密码。

0 投票
1 回答
2572 浏览

php - 存储 bcrypt 哈希

根据 PHP 的文档,bcrypt salt 是由

“$2a$”,两位数的成本参数,“$”,以及来自字母表“./0-9A-Za-z”的 22 位数字

因此,如果我使用 crypt() 函数对我的密码进行哈希处理,则结果输出包括前 7 个字符($2a$10$,如果 10 是成本参数)作为盐的一部分 - 而且,根据所有示例,我能够在互联网上找到,这个完整的输出被写入db。

我想知道将这些第一个字符与其余的盐和加密数据一起存储有什么意义。它们的含义对我来说是完全清楚的,但我真的不明白为什么这些信息应该与哈希的其余部分一起写。它们不是关于算法和计算的自适应成本的“只是”信息吗?那么存储此类与应用程序相关的信息有什么好处呢?而且(即使听起来很幼稚)为什么要将它们披露给最终可以获取我的数据库的攻击者?

0 投票
2 回答
1017 浏览

security - bcrypt 是如何跟上摩尔定律的?

我一直在看到使用 bcrypt 对密码进行哈希处理的建议,因为它能够跟上摩尔定律。

显然,这是因为攻击者破解 bcrypt 散列所需的时间比 SHA256 等通用散列函数生成的散列要长得多。

这怎么可能?尽管有摩尔定律,算法怎么会故意变慢呢?

0 投票
1 回答
4391 浏览

ruby-on-rails - Rails-devise:生成 encrypted_pa​​ssword 值(用于测试用户)

为了测试我的 Rails/Devise 应用程序,我想创建 100 个用户并以他们的身份登录。

我尝试了以下方法:

对于encrypted_password,我只是从另一个密码为的用户那里复制了值testtest

问题:我无法test1@example.com使用密码登录testtest

我怀疑encrypted_password有盐,我需要一个工具来生成它。config.encryptorbcrypt。我安装了 bcrypt (Linux),但手册页很短,只解释了如何加密文件,所以我猜它不是最方便的加盐密码的工具。

如何快速创建 100 个加盐密码?
比注册 100 次还要快。

0 投票
1 回答
1757 浏览

java - jBCrypt 无法验证密码

我正在为我的应用程序加密密码,因为密码将存储在共享首选项中

我找到了 bcrypt 并阅读了很多关于它的好东西,但我无法让它工作

我正在使用jBCrypt。我按照说明做了这个作为测试

但是每次我运行应用程序时显示的吐司不匹配?因此,当我在我的共享首选项中记录散列密码,然后将其与用户输入进行比较时,它说它每次都会说错,因为显然它每次都会给我一个不同的散列,我该如何使用它?

0 投票
3 回答
4864 浏览

cryptography - Bcrypt - 多少次迭代/成本?

我读过一些文章说您应该将成本设置为至少 16 (2 16 ),但其他人说 8 左右就可以了。

是否有任何官方标准来规定成本应该设置多高?

0 投票
1 回答
14545 浏览

java - 在 Android 应用程序中使用 jBCrypt 对密码进行加盐会导致长时间挂起

当他们使用我的应用程序注册时,我正在使用jBCrypt 库对用户密码进行哈希处理。

我正在使用带有盐的基本哈希函数,如下所示:

注册时我注意到一到两分钟的挂起,并检查了调试器,确认 BCrypt 负责。

加盐密码真的需要那么多处理能力吗?如果是这样,一个好的选择是将明文密码发送到服务器进行散列吗?我最初对此事的想法是在它被发送到任何地方之前对其进行哈希处理。有任何想法吗?

0 投票
2 回答
2422 浏览

ruby - bcrypt-ruby 不会与 bundler 一起安装,但与 gem install 一起工作正常

我最近刚开始遇到 bundler 的问题 - 执行 bundle install 或 sudo bundle install 时不会安装 bcrypt-ruby 并退出并出现以下错误:

但是,gem install bcrypt-ruby -v '2.1.4'运行得很好(实际上已经在这个盒子上运行过)。手动运行/usr/bin/ruby1.8 extconf.rb就可以了,生成的 Makefile 也可以使用 make 运行。

我在 Ubuntu 10.04.1 LTS 上使用 Ruby 1.8.7 和 bundler 1.0.21。其他宝石似乎通过捆绑器工作正常。虽然这可能很明显,但我已经确认安装了 ruby​​-dev、gcc 等软件包。我尝试将 --deployment 选项与捆绑器一起使用,但没有不同的行为。最近我唯一能想到的变化是我几天前做了一个包更新,所以包有一个小版本更改(1.0.10 -> 1.0.21),bcrypt 似乎有一个主要版本更改(2.1 .4 -> 3.0.1)。

任何帮助表示赞赏!

0 投票
0 回答
311 浏览

ruby-on-rails - gmail_smtp.git 搞砸了

我正在尝试让 gmail 在 Heroku 上工作,并遵循http://blog.heroku.com/archives/2009/11/9/tech_sending_email_with_gmail/上的“教程”

当我这样做时,install git://github.com/adamwiggins/gmail_smtp.git事情变得一团糟。

安装不起作用,我收到错误消息:

Installing bcrypt-ruby (3.0.1) with native extensions /Users/user/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:551:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

Gem files will remain installed in /Users/user/Dropbox/work/project/git:/github.com/adamwiggins/gmail_smtp.git/ruby/1.9.1/gems/bcrypt-ruby-3.0.1 for inspection. Results logged to /Users/user/Dropbox/work/project/git:/github.com/adamwiggins/gmail_smtp.git/ruby/1.9.1/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out

所以现在我什么都做不了。

我想做的是卸载整个东西,但我不知道该怎么做,而且我无法以任何我能想到的方式安装 bcrypt-ruby(不是我有足够的经验去思考这么多)。

我在 git 上尝试了 rm -rf:希望那是安装信息所在的位置,但这也无济于事。

有人可以告诉我“安装git://”之后的信息存储在哪里或如何删除/卸载它或任何其他方式让我取得一些进展。我正式卡住了..

干杯卡尔

0 投票
1 回答
600 浏览

asp.net - 使用 BCrypt 检查 Linq-to-SQL 中的密码

我使用 BCrypt 来散列密码。在我的登录查询中,我检查密码:

var kier = (from b in baza.Logowanies where b.Login == model.Użytkownik && BCryptHelper.CheckPassword(model.Hasło, b.Haslo) && b.konto == "kierownik" select b).Any();

在编译期间我有一个错误:

方法 'Boolean CheckPassword(System.String, System.String)' 不支持对 SQL 的转换。

我该如何解决这个问题?