BCrypt implements OpenBSD-style Blowfish password hashing using the scheme described in
"A Future-Adaptable Password Scheme" by Niels Provos and David Mazieres.
Implementation of PasswordEncoder that uses the BCrypt strong hashing function. Clients
can optionally supply a "version" ($2a, $2b, $2y) and a "strength" (a.k.a. log rounds
in BCrypt) and a SecureRandom instance. The larger the strength parameter the more work
will have to be done (exponentially) to hash the passwords. The default value is 10.