当前位置: 首页 > 知识库问答 >
问题:

Bcyrpt生成无盐密码?

慕容灿
2023-03-14

我正在使用。NET Bcrypt哈希实现来自第三方库,它具有创建哈希的方法,只需提供文本或密码,如下所示。

Bcrypt.HashPassword("password") 

我知道生成的hash包含salt信息,但在创建hash时它没有获取salt参数。

Bcrypt在内部创建随机盐并使用它?

如果我不使用salt重载方法,它会导致安全漏洞吗?

共有1个答案

韦高阳
2023-03-14

从理论上讲,您应该执行以下操作,其中P是给定的密码:

  1. 生成加密强随机saltS

在身份验证时,为声称是同一用户的人提供候选密码P',当且仅当H==Hash(sp')时验证该用户。

Bcrypt是否在内部创建并使用随机盐?

盐不应该只在内部产生。它应该给你用散列盐密码存储的盐。

如果我不使用盐过载方法,它会导致安全漏洞?

 类似资料:
  • 问题内容: 所以我正在尝试bcrypt。我有一类(如下所示,该类来自http://www.firedartstudios.com/articles/read/php- security-how-to-safe-store-your- passwords ),其中包含3个功能。第一个是生成随机的Salt,第二个是使用第一个生成的Salt生成哈希,最后一个是通过将提供的密码与哈希密码进行比较来验证所提

  • 虽然我理解加盐和散列密码过程背后的神学,但我不太理解方法论。据我所知,这个问题及其相关答案中列出的方法,以及MSDN的这篇文章,都经历了创建不同长度的salt的步骤,以便在散列给定密码的过程中使用。 但是,稍后检查密码怎么样?据我所知,再次创建哈希将导致生成全新的盐,最终导致在尝试登录时验证失败。 我是否错过了盐或盐配方的保存位置?还是我不太了解这个过程?

  • 我一直在使用PHP为Dovecot创建一个可用的盐渍SHA-512哈希。当创建一个非salt十六进制格式的哈希时,一切都很好。向哈希中添加一个盐,我无法再使用“doveadm pw”验证哈希。 这是我的代码: var\u dumps()的输出如下: 现在,当我尝试根据doveadm验证哈希时,只有第一个哈希(十六进制格式的非salt)有效。第二个错误是关于字符串长度的错误(输入长度无效(128而不

  • <?php $pw='simplewind'; $afpw=sp_password($pw);//加密字符串 echo $afpw;//输出加密后的字符串 ?>

  • 我正在尝试创建一个公钥以允许我推送到Git,但我的. ssh文件夹尚未创建。 以下是我运行的命令: $ssh-keygen-t rsa-Cemaill@me.com 生成公共/私有rsa密钥对 输入保存密钥的文件(/h/.ssh/id\u rsa): 这就是H:驱动器配置、数据、配置文件、配置文件中的全部内容。V2 我认为有一个问题,因为当我得到提示输入文件,其中保存密钥(/h//. ssh/id

  • 问题内容: 我正在尝试在Java中生成盐,以与用于安全密码存储的哈希算法配合使用。我正在使用以下代码创建随机盐: 这应该生成一个完全安全的,随机生成的盐,以用于我的哈希算法。但是,当我运行代码时,每次都会输出相同的盐…表示生成的盐根本不是随机的。 出于明显的安全性目的,每个用户都需要一个唯一的符号,但是如果我每次创建一个新帐户时都使用此代码,则每个用户都将具有相同的符号,这一开始就破坏了它的用途。