Bcrypt is a password hashing function designed to be computationally expensive to compute, in order to make it difficult for attackers to crack password hashes by brute force. Bcrypt was specifically designed for use as a password hashing function, and it is considered to be more secure than many other commonly used hashing algorithms, such as MD5 and SHA-1.
The basic process of Bcrypt hashing is as follows:
1. The user's plaintext password is hashed using a salt, which is a random string of characters that is generated for each password. The salt is concatenated with the password to create the input for the hash function.
2. The input is hashed using the Blowfish cipher, which is a symmetric key block cipher that was specifically designed to be computationally expensive to evaluate.
3. The output of the Blowfish cipher is the Bcrypt hash of the password.
One of the key features of Bcrypt is that it includes a work factor, which determines how computationally expensive it is to compute the hash. The work factor can be adjusted to increase the difficulty of cracking the password as computing power increases over time. This means that Bcrypt hashes can be made more secure simply by increasing the work factor, without the need to change the underlying algorithm.
In summary, Bcrypt is a secure password hashing function that is designed to be resistant to brute force attacks and can be made more secure over time by increasing the work factor. It is a widely used and recommended approach for storing password hashes in a secure manner