
πPassword Vault
Securely hash, store and verify passwords.
KPasswordVault Class Overview
Security Parameters Uses PBKDF2 with the PBKDF2WithHmacSHA512 algorithm, a key length of 512 bits, a securely generated 32-byte salt, and an optional pepper value.
Hash Iteration Count If no iteration count is specified, a random value between 500,000 and 1,000,000 is used.
Password Verification Provides a method to validate a plaintext password by comparing it against the stored hash.
Example
public static final String SET_PASSWORD = "SecretPassword";
public static final String TEST_PASSWORD = "WrongPassword";
public static void main(String[] args) {
KPasswordVault vault = new KPasswordVault(SET_PASSWORD.toCharArray());
System.out.println("Hashed Password: " + K.toHex(vault.getPasswordHash()));
System.out.println("Used Salt: " + K.toHex(vault.getSalt()));
System.out.println("Used Iteration Count: " + vault.getIterations());
System.out.println("Hashing Elapsed Time: " + vault.getHashTimeMs() + " ms");
System.out.println("Validate 1st Password: " + vault.isPasswordValid(SET_PASSWORD.toCharArray()));
System.out.println("Validate 2st Password: " + vault.isPasswordValid(TEST_PASSWORD.toCharArray()));
}Output
Last updated