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.void
setXRoutine
(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 ornull
to use thedefault one
instead.
-
getXRoutine
Gets the custom routine for the password key 'x' computation.- Returns:
- The routine instance or
null
if the defaultdefault one
is 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 routine
is 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 benull
if 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 routine
is 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 benull
if 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 routine
is 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 routine
is 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'.
-