问题标签 [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.
php - 在 PHP 中将密码与 crypt() 进行比较
我需要了解此功能的基础知识。对于河豚算法,php.net 文档指出:
使用盐的河豚散列如下:“$2a$”,两位数的成本参数,“$”,以及字母表“./0-9A-Za-z”中的 22 个基数为 64 位的数字。在盐中使用超出此范围的字符将导致 crypt() 返回零长度字符串
因此,根据定义,这不应该起作用:
然而,它吐出:
似乎 crypt() 已将盐本身的长度减少到 22。有人可以解释一下吗?
这个函数的另一个我无法理解的方面是当他们使用 crypt() 来比较密码时。http://php.net/manual/en/function.crypt.php(查看 ex.#1)。这是否意味着如果我使用相同的盐来加密所有密码,我必须先加密它?IE:
谢谢你的时间
php - 如何在 PHP 应用程序中供应 bcrypt(我应该)?
我正在为一个相对成熟的开源 PHP 项目做贡献。最近,我发现它将密码存储为普通的 MD5 哈希,这对我来说很麻烦。我想如果我要修复它,我不妨做对(tm),所以我想使用 bcrypt。
首先,我对其他语言的发现:bcrypt-ruby似乎使用了来自 OpenBSD 的原始 C 代码或jBCrypt的 java 代码。 py-bcrypt是 BSD 代码的精简包装器。 BCrypt.net是 jBCrypt 的直接端口。
现在,PHP 本身在crypt 函数中支持 bcrypt(尽管被误导地简称为“blowfish”)。但是,5.3 之前的版本需要系统本身的支持,通常由crypt_blowfish提供。 phpass也是一样,建议安装 PHP 5.3 或Suhosin。
由于该应用程序的许多用户使用标准共享主机,我不想要求对服务器进行任何特殊配置。我希望只是从 PHP 的 5.3 版本中窃取代码,但它是用 C 语言编写的,并且(从我刚刚完成的一小部分阅读中)我不能要求项目用户使用 C 扩展。
我想只创建一个纯 PHP 的 bcrypt 端口,但是查看jBCrypt 的来源,我不确定我是否应该这样做,因为我对 PHP 或河豚都不是非常熟悉,而且这里可能同时出现错误首先是危险且难以检测的。
因此,我向您提出两个(多部分)问题:
- 是我缺乏 PHP 知识让我变得最好吗?我真的可以使用已经创建的实现之一吗?
- 我是否应该只创建一个简单的循环函数来调用
sha1()
或md5()
重复一些可配置的次数?
bcrypt - install bcrypt-ruby on windows
I have copy the make.bat to bin\ folder,when run the command gem install bcrypt-ruby, it shows the bash.exe is not the internal or external command.
How to solve it?
ruby-on-rails - 没有要加载的文件——bcrypt_ext(通过设计)
我在 rails 3 上的设计(当前 gem)中使用数据库身份验证,尝试使用用户名/密码登录时出现以下错误。
我之前有“成功安装 bcrypt-ruby-2.1.2”gem。
有任何想法吗?我还尝试为 bundler 提供 git repo 地址并获取 master,但这并不能解决问题。
java - 如何在 appengine for java 上使用 bcrypt?
是否有任何可以在 GAE/J 上运行的免费实现?
ruby-on-rails - 尝试为 Diaspora、bcrypt seg 故障播种 dev db。Mac OSX
我正在尝试在 Diaspora https://github.com/diaspora/diaspora/wiki的开发人员实例上运行 rake db:seed:dev并且我收到 bcrypt-ruby 分段错误错误。我环顾四周,找不到任何与 bcrypt-ruby 和分段错误有关的信息。任何人有任何想法或知道发生了什么?我实际上也是 Ruby 的新手。
ruby-on-rails-3 - 论坛tripcode的Datamapper回调
上下文:为论坛创建一个tripcode 实现(http://en.wikipedia.org/wiki/Tripcode)。本质上,用于无注册识别的弱散列。
有一个模型,“Post”。帖子以父/子格式排列,新帖子创建父级,回复创建子级到父级。有一个表单,现在有一个发布到控制器/模型的字段,包含一个内容和密码字段。
基本流程是这样的 - 发布/回复,如果密码字段中有密码,则获取并运行 bcrypt,将该结果存储为 password_hash 以供以后比较,创建用于显示的tripcode。但是我遇到了我一直在努力解决的错误
我得到的主要错误是
未定义的方法“原始?” 对于零:NilClass
看似来自
lib/active_support/whiny_nil.rb:48:in `method_missing'
我不知道如何处理或解决这个问题。我没有用控制器做某事或检查某事,但还不知道是什么。我得到的另一个错误源于无效的 bcrypt 哈希,但无法立即复制。
钩子方法就在 bcrypt-ruby 页面上。
创建 BCryptHash 字段有效(dm-types)——但在 localhost 服务器上将处理表单的时间增加了 10 倍,并且对每个帖子都执行此操作,因此我需要一种方法来调整 bcrypt 哈希的成本(例如 1 而不是默认的 10)并且仅在存在密码时运行它,这就是我这样做的原因。
但这现在行不通,我已经把头撞得够多了,然后继续解决其他问题,如果我能得到一些意见,就会回到它。我正在使用 rails,所以我添加了该标签,尽管它主要不是 rails 问题。
bcrypt - 最佳 bcrypt 工作因子
什么是密码散列的理想 bcrypt 工作因素。
如果我使用 10 倍,在我的笔记本电脑上散列密码大约需要 0.1 秒。如果我们最终得到一个非常繁忙的站点,那么仅检查人们的密码就会变成大量工作。
也许使用 7 的工作系数会更好,将每次笔记本电脑登录的总密码哈希工作减少到大约 0.01 秒?
您如何在蛮力安全和运营成本之间做出权衡?
ruby-on-rails - 更改设计和 rails 3 以使用 bcrypt 而不是 sha
我有一个使用设计处理身份验证的 rails 3 生产应用程序。我想更改为在应用程序上使用 bcrypt 而不是 sha,但我找不到任何资源来解释从一个迁移到另一个的过程。我假设您需要采取某种回退措施来处理目前密码以某种方式用 sha 加盐的事实......
以前有人做过吗?!任何提示、教程、演练等?!