Class SRP6VerifierGenerator
SRP6Routines.generateRandomSalt(int) may be used to create a random
salt 's' of a specified byte size.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new generator of password verifier 'v' values.SRP6VerifierGenerator(SRP6CryptoParams config, SRP6Routines srp6Routines) Creates a new generator of password verifier 'v' values. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]Generates a random 16-byte salt 's'.byte[]generateRandomSalt(int numBytes) Generates a random salt 's'.byte[]generateRandomSalt(int numBytes, SecureRandom random) Generates a random salt 's'.generateVerifier(byte[] salt, byte[] password) Generates a new verifier 'v' from the specified parameters with the user identifier 'I' omitted.generateVerifier(byte[] salt, byte[] userID, byte[] password) Generates a new verifier 'v' from the specified parameters.generateVerifier(BigInteger salt, String password) Generates a new verifier 'v' from the specified parameters with the user identifier 'I' omitted.generateVerifier(BigInteger salt, String userID, String password) Generates a new verifier 'v' from the specified parameters.Gets the custom routine for the password key 'x' computation.voidsetXRoutine(XRoutine routine) Sets a custom routine for the password key 'x' computation.
-
Field Details
-
srp6Routines
-
-
Constructor Details
-
SRP6VerifierGenerator
Creates a new generator of password verifier 'v' values.- Parameters:
config- The SRP-6a crypto parameters configuration. Must not benull.
-
SRP6VerifierGenerator
Creates a new generator of password verifier 'v' values.- Parameters:
config- The SRP-6a crypto parameters configuration. Must not benull.srp6Routines- The cryptographic routines.
-
-
Method Details
-
generateRandomSalt
public byte[] generateRandomSalt(int numBytes) Generates a random salt 's'.This method is a shortcut to
SRP6Routines.generateRandomSalt(int).- Parameters:
numBytes- The number of bytes the salt 's' must have.- Returns:
- The salt 's' as a byte array.
-
generateRandomSalt
Generates a random salt 's'.This method is a shortcut to
SRP6Routines.generateRandomSalt(int).- Parameters:
numBytes- The number of bytes the salt 's' must have.random- A secure random number generator.- Returns:
- The salt 's' as a byte array.
-
generateRandomSalt
public byte[] generateRandomSalt()Generates a random 16-byte salt 's'.This method is a shortcut to
SRP6Routines.generateRandomSalt(int).- Returns:
- The salt 's' as a byte array.
-
setXRoutine
Sets a custom routine for the password key 'x' computation.- Parameters:
routine- The password key 'x' routine ornullto use thedefault oneinstead.
-
getXRoutine
Gets the custom routine for the password key 'x' computation.- Returns:
- The routine instance or
nullif the defaultdefault oneis used.
-
generateVerifier
Generates a new verifier 'v' from the specified parameters.The verifier is computed as v = g^x (mod N). If a custom
'x' computation routineis set it will be used instead of thedefault one.Tip: To convert a string to a byte array you can use
String.getBytes()orString.getBytes(java.nio.charset.Charset). To convert a big integer to a byte array you can useBigInteger.toByteArray().- Parameters:
salt- The salt 's'. Must not benull.userID- The user identity 'I'. May benullif the default 'x' routine is used or the custom one ignores it.password- The user password 'P'. Must not benull.- Returns:
- The resulting verifier 'v'.
-
generateVerifier
Generates a new verifier 'v' from the specified parameters.The verifier is computed as v = g^x (mod N). If a custom
'x' computation routineis set it will be used instead of thedefault one.- Parameters:
salt- The salt 's'. Must not benull.userID- The user identity 'I', as an UTF-8 encoded string. May benullif the default 'x' routine is used or the custom one ignores it.password- The user password 'P', as an UTF-8 encoded string. Must not benull.- Returns:
- The resulting verifier 'v'.
-
generateVerifier
Generates a new verifier 'v' from the specified parameters with the user identifier 'I' omitted.The verifier is computed as v = g^x (mod N). If a custom
'x' computation routineis set it must omit the user identity 'I' as well.Tip: To convert a string to a byte array you can use
String.getBytes()orString.getBytes(java.nio.charset.Charset). To convert a big integer to a byte array you can useBigInteger.toByteArray().- Parameters:
salt- The salt 's'. Must not benull.password- The user password 'P'. Must not benull.- Returns:
- The resulting verifier 'v'.
-
generateVerifier
Generates a new verifier 'v' from the specified parameters with the user identifier 'I' omitted.The verifier is computed as v = g^x (mod N). If a custom
'x' computation routineis set it must omit the user identity 'I' as well.- Parameters:
salt- The salt 's'. Must not benull.password- The user password 'P', as an UTF-8 encoded string. Must not benull.- Returns:
- The resulting verifier 'v'.
-