Is Bcrypt used for Hashing or Encryption? A bit of confusion
我一直在读关于
在我读到的一些文章中,它提出了两种方法:
- e.g. 1: Bcrypt is a cross platform file encryption utility from bcrypt
- e.g. 2: bcrypt is an adaptive password hashing algorithm which uses the Blowfish keying schedule, not a symmetric encryption algorithm. from How To Safely Store A Password
- bcrypt is an adaptive cryptographic hash function for passwords designed by Niels Provos and David Mazières, based on the Blowfish cipher: from bcrypt wiki
Bcrypt到底是什么?
两者都是:
大多数时候,当人们提到bcrypt时,他们谈论的是自适应哈希算法,但它也是一个不相关的文件加密实用程序的名称。
两者都是基于河豚密码。
Bcrypt加密软件使用BruceSchneier于1993年设计的Blowfish算法。〔1〕
bcrypt散列函数就是散列函数。它不执行加密,而是散列。它是建立在河豚密码的基础上的,并且被认为是一件好事,因为随着时间的推移,你可以使它变慢。
维基百科:
This is not cryptographically significantly stronger than the standard
Blowfish key schedule, but the number of rekeying rounds is
configurable; the hashing process can therefore be made arbitrarily
slow, which helps deter brute-force attacks upon the hash or salt.
关于在您的站点上存储密码,您应该在散列密码之前对密码进行加密。
只有在使用某种加密算法(如Blowfish、Rijndael/AES)对它们进行加密之后,才能使用bcrypt散列加密密码,并存储密码散列。
有关实现密码安全性的更多详细信息,请参阅此问题的首要答案。
bcrypt是密码的密钥派生函数
此外,散列(由bcrypt使用)和简单单词加密之间的区别将是-
1)加密数据可以通过私钥解密。2)散列是一种方法,如果您散列纯文本,它是不可逆的,因此更安全。唯一可以确保的方法是重新刷新纯文本,并将其与以前散列的数据进行比较以确保相等。