Interface SecretBasedKeyGenerator

All Superinterfaces:
BasicKeyGenerator
All Known Implementing Classes:
Argon2KeyGenerator, PBKDF2KeyGenerator

public interface SecretBasedKeyGenerator extends BasicKeyGenerator
Derives a suitable key from a secret/password, salt, extra secret for keyed hashing. Additional info can be used to tag. WARNING: Stick to Argon2KeyGenerator and avoid modifying/implementing this or any implementations without understanding the ramifications. For more info:
See Also:
  • Method Details

    • generate

      SecretKeySpec generate(String secret, String salt)
    • generate

      SecretKeySpec generate(String secret, String salt, String pepper)
    • generate

      SecretKeySpec generate(String secret, String salt, String pepper, byte[] ad)
    • generate

      SecretKeySpec generate(char[] secret, byte[] salt, byte[] pepper, byte[] ad)
    • derive

      byte[] derive(char[] secret, byte[] salt, byte[] pepper, byte[] additional)
      Derives a suitable key from a secret/password, salt, extra secret for keyed hashing. Additional info can be used to tag.
      Parameters:
      secret - secret or password that is supplied by user or server. Take utmost care.
      salt - Unique value for each secret that's known only to server for each secret
      pepper - Unique value for each secret that's known only to server
      additional - Any additional Tag for ID or classification
      Returns:
      key that can be wrapped and supplied to Scrambler