2019-04-15, 11:12 PM
The old BCrypt plugin used a callback architecture. You requested a hash, and once it was done the plugin informed you. This was because cryptographic hashes are meant to be slow. Their security lies in the fact that they take a long time to calculate, making brute-forcing them impossible within the age of the universe. Performing the hash synchronously as in this version would stall the server for a non-trivial amount of time while running the calculation. I like the presence of multiple different hashes, but this should really be threaded.