Package com.io7m.idstore.model
Class IdPasswordAlgorithmPBKDF2HmacSHA256
java.lang.Object
com.io7m.idstore.model.IdPasswordAlgorithmPBKDF2HmacSHA256
- All Implemented Interfaces:
IdPasswordAlgorithmType
public final class IdPasswordAlgorithmPBKDF2HmacSHA256
extends Object
implements IdPasswordAlgorithmType
The PBKDF2 hashing algorithm using a SHA-256 HMAC.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Check if the given plain text password matches the expected hash.static IdPasswordAlgorithmType
create()
Create an algorithm with a strong iteration count and key length.static IdPasswordAlgorithmType
create
(int iterationCount) Create an algorithm with the given iteration count and key length.createHashed
(String passwordText, byte[] salt) Create a hashed password.boolean
int
hashCode()
toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.io7m.idstore.model.IdPasswordAlgorithmType
createHashed
-
Method Details
-
create
Create an algorithm with the given iteration count and key length.- Parameters:
iterationCount
- The iteration count- Returns:
- An algorithm
-
create
Create an algorithm with a strong iteration count and key length.- Returns:
- An algorithm
-
equals
-
hashCode
public int hashCode() -
toString
-
check
public boolean check(String expectedHash, String receivedPassword, byte[] salt) throws IdPasswordException Description copied from interface:IdPasswordAlgorithmType
Check if the given plain text password matches the expected hash.- Specified by:
check
in interfaceIdPasswordAlgorithmType
- Parameters:
expectedHash
- The expected hexadecimal uppercase hashreceivedPassword
- The received plain text passwordsalt
- The salt value- Returns:
true
if the password matches- Throws:
IdPasswordException
- On internal errors such as missing algorithm support
-
createHashed
Description copied from interface:IdPasswordAlgorithmType
Create a hashed password.- Specified by:
createHashed
in interfaceIdPasswordAlgorithmType
- Parameters:
passwordText
- The plain text passwordsalt
- A random salt value- Returns:
- A hashed password
- Throws:
IdPasswordException
- On internal errors such as missing algorithm support
-
identifier
- Specified by:
identifier
in interfaceIdPasswordAlgorithmType
- Returns:
- The password algorithm identifier
-