Bcrypt是用于散列还是加密? 有点混乱

我一直在阅读关于bcrypt (应用程序视角)。 想用它来在我的网站上存储密码。

我读过的一些东西暗示了两种方式:

  • 例如1:Bcrypt是来自bcrypt的跨平台文件加密工具
  • 例如2:bcrypt是一种使用Blowfish密钥调度的自适应密码哈希算法,而不是对称加密算法。 从如何安全地存储密码
  • bcrypt是由Niels Provos和DavidMazières根据Blowfish密码设计的一种自适应密码哈希函数:bcrypt wiki
  • Bcrypt究竟是什么?


    它是:)

    大多数时候人们提到BCrypt时,他们都在谈论自适应哈希算法,但它也是不相关文件加密实用程序的名称。

    两者都基于Blowfish密码。


    Bcrypt加密软件使用Bruce Schneier于1993年设计的Blowfish算法。[1]

    bcrypt哈希函数就是这样一个哈希函数。 它不执行加密,它散列。 它基于Blowfish密码,并且被认为是一件好事,因为随着时间的推移它可以变慢。

    维基百科:

    这并不比标准的Blowfish密钥时间密码明显更强,但密钥轮回的次数是可配置的; 哈希过程因此可以任意慢,这有助于防止对哈希或盐的暴力攻击。

    关于在您的网站上存储密码,您应该先对密码进行加密,然后再对其进行哈希处理。

    只有使用某种加密算法(例如Blowfish,Rijndael / AES)对它们进行加密后,才应使用bcrypt对加密密码进行散列处理,并存储密码散列。

    有关实现密码安全性的更多详细信息,请参阅此问题的最佳答案。


    bcrypt是密码的一个重要派生函数

    哈希(由bcrypt使用 )和简单单词加密之间的区别也是 -

    1)加密数据可以通过私钥解密。 2)散列是一种方式,如果您将纯文本散列为不可逆的,则更安全。 确保的唯一方法是重新扫描纯文本,并将其与先前散列的数据进行比较以求相等。

    链接地址: http://www.djcxy.com/p/28941.html

    上一篇: Is Bcrypt used for Hashing or Encryption? A bit of confusion

    下一篇: way encryption: I need to store passwords that can be retrieved