Tag: bcrypt

有人可以解释BCrypt如何validation散列?

我正在使用C#和BCrypt.Net哈希我的密码。 例如: string salt = BCrypt.Net.BCrypt.GenerateSalt(6); var hashedPassword = BCrypt.Net.BCrypt.HashPassword("password", salt); //This evaluates to True. How? I'm not telling it the salt anywhere, nor //is it a member of a BCrypt instance because there IS NO BCRYPT INSTANCE. Console.WriteLine(BCrypt.Net.BCrypt.Verify("password", hashedPassword)); Console.WriteLine(hashedPassword); 如果BCrypt没有在任何地方保存盐,那么如何用哈希validation密码。 我唯一的想法是它以某种方式在散列末尾添加salt。 这是一个正确的假设吗?

bcrypt和随机产生的盐

所以我正在试验bcrypt。 我有一个类(下面显示,我从http://www.firedartstudios.com/articles/read/php-security-how-to-safely-store-your-passwords ),其中有3个function。 第一个是生成一个随机的Salt,第二个是使用第一个生成的Salt生成一个哈希值,最后一个是通过比较哈希密码来validation提供的密码。 <?php /* Bcrypt Example */ class bcrypt { private $rounds; public function __construct($rounds = 12) { if(CRYPT_BLOWFISH != 1) { throw new Exception("Bcrypt is not supported on this server, please see the following to learn more: http://php.net/crypt"); } $this->rounds = $rounds; } /* Gen Salt */ public function genSalt() { /* […]

无法安装gem – 无法构buildgem本机扩展 – 无法加载此类文件 – mkmf(LoadError)

Ruby 1.9.3 Gemfile的一部分 #…………… gem "pony" gem "bcrypt-ruby", :require => "bcrypt" gem "nokogiri" #……………… 当我试图安装gem,我得到一个错误 alex@ubuntu:~/$ bundle Fetching gem metadata from http://rubygems.org/……… Fetching gem metadata from http://rubygems.org/.. Enter your password to install the bundled RubyGems to your system: #####…………………………………………………… Installing bcrypt-ruby (3.0.1) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb […]

我应该使用什么列types/长度来存储数据库中的Bcrypt哈希密码?

我想在数据库中存储散列密码(使用BCrypt)。 对于这种情况来说,这将是一个好的types,哪个是正确的长度? 密码与BCrypt总是相同的长度? 编辑 哈希示例: $2a$10$KssILxWNR6k62B7yiX0GAe2Q7wwHlrzhF3LqtVvpyvHZf0MwvNfVu 散列一些密码后,似乎BCrypt总是产生60个字符散列。 编辑2 对不起,没有提到的实施。 我正在使用jBCrypt 。

bcrypt如何能够内build盐?

Coda Hale的文章“如何安全地存储密码”声称: bcrypt有防止彩虹表攻击的内置盐。 他引用这篇文章说,在OpenBSD的bcrypt实现中: OpenBSD从arcfour(arc4random(3))密钥stream中生成128位bcrypt salt,内核从设备时序收集随机数据。 我不明白这是如何工作的。 在我的一个盐的概念: 每个存储的密码需要不同,所以每个都需要生成一个单独的彩虹表 它需要存储在某个地方,以便它是可重复的:当用户尝试login时,我们会尝试密码,重复我们原来存储密码时所做的相同的salt-and-hash程序,然后比较 当我使用bcrypt使用Devise(Railsloginpipe理器)时,数据库中没有salt列,所以我很困惑。 如果盐是随机的,没有存储在任何地方,我们如何可靠地重复哈希过程呢? 简而言之, bcrypt如何能够embedded盐 ?

你如何使用bcrypt在PHP中哈希密码?

我偶尔会听到“使用bcrypt在PHP中存储密码,bcrypt规则”的build议。 但是什么是bcrypt ? PHP不提供任何这样的function,维基百科关于文件encryption实用程序的喋喋不休,Websearch只是揭示了几种不同语言的Blowfish实现。 现在Blowfish也可以通过mcrypt通过PHP获得,但是这对于存储密码有什么帮助? 河豚是一个通用的密码,它有两种方式。 如果可以encryption,则可以解密。 密码需要单向散列函数。 什么是解释?