Package com.luna.common.encrypt
Class BCryptPasswordEncoder
java.lang.Object
com.luna.common.encrypt.BCryptPasswordEncoder
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.
- Author:
- Dave Syer
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumStores the default bcrypt version for use in configuration. -
Constructor Summary
ConstructorsConstructorDescriptionBCryptPasswordEncoder(int strength) BCryptPasswordEncoder(int strength, SecureRandom random) BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, int strength) BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, int strength, SecureRandom random) BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, SecureRandom random) -
Method Summary
Modifier and TypeMethodDescriptionencode(CharSequence rawPassword) static voidbooleanmatches(CharSequence rawPassword, String encodedPassword) booleanupgradeEncoding(String encodedPassword)
-
Constructor Details
-
BCryptPasswordEncoder
public BCryptPasswordEncoder() -
BCryptPasswordEncoder
public BCryptPasswordEncoder(int strength) - Parameters:
strength- the log rounds to use, between 4 and 31
-
BCryptPasswordEncoder
- Parameters:
version- the version of bcrypt, can be 2a,2b,2y
-
BCryptPasswordEncoder
- Parameters:
version- the version of bcrypt, can be 2a,2b,2yrandom- the secure random instance to use
-
BCryptPasswordEncoder
- Parameters:
strength- the log rounds to use, between 4 and 31random- the secure random instance to use
-
BCryptPasswordEncoder
- Parameters:
version- the version of bcrypt, can be 2a,2b,2ystrength- the log rounds to use, between 4 and 31
-
BCryptPasswordEncoder
public BCryptPasswordEncoder(BCryptPasswordEncoder.BCryptVersion version, int strength, SecureRandom random) - Parameters:
version- the version of bcrypt, can be 2a,2b,2ystrength- the log rounds to use, between 4 and 31random- the secure random instance to use
-
-
Method Details
-
main
-
encode
-
matches
-
upgradeEncoding
-