@Immutable public class Secret extends Object
erased
when no longer in
use.Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_BYTE_LENGTH
The default byte length of generated secrets.
|
Constructor and Description |
---|
Secret()
Generates a new secret with a cryptographic 256-bit (32-byte) random
value, Base64URL-encoded.
|
Secret(int byteLength)
Generates a new secret with a cryptographic random value of the
specified byte length, Base64URL-encoded.
|
Secret(int byteLength,
Date expDate)
Generates a new secret with a cryptographic random value of the
specified byte length, Base64URL-encoded, and the specified
expiration date.
|
Secret(String value)
Creates a new secret with the specified value.
|
Secret(String value,
Date expDate)
Creates a new secret with the specified value and expiration date.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o)
Comparison with another secret is constant time.
|
boolean |
equalsSHA256Based(Secret other)
Constant time comparison of the SHA-256 hashes of this and another
secret.
|
void |
erase()
Erases of the value of this secret.
|
boolean |
expired()
Checks is this secret has expired.
|
Date |
getExpirationDate()
Gets the expiration date of this secret.
|
byte[] |
getSHA256()
Gets the SHA-256 hash of this secret.
|
String |
getValue()
Gets the value of this secret.
|
byte[] |
getValueBytes()
Gets the value of this secret.
|
int |
hashCode() |
public static final int DEFAULT_BYTE_LENGTH
public Secret(String value)
value
- The secret value. May be an empty string. Must be
UTF-8 encoded and not null
.public Secret(String value, Date expDate)
value
- The secret value. May be an empty string. Must be
UTF-8 encoded and not null
.expDate
- The expiration date, null
if not specified.public Secret(int byteLength)
byteLength
- The byte length of the secret value to generate.
Must be greater than one.public Secret(int byteLength, Date expDate)
byteLength
- The byte length of the secret value to generate.
Must be greater than one.expDate
- The expiration date, null
if not
specified.public Secret()
public String getValue()
null
if it has
been erased.public byte[] getValueBytes()
null
if it has
been erased.public byte[] getSHA256()
null
if the secret value has been
erased.public void erase()
public Date getExpirationDate()
null
if not specified.public boolean expired()
true
if the secret has an associated expiration date
which is in the past (according to the current system time),
else returns false
.public boolean equalsSHA256Based(Secret other)
other
- The other secret. May be null
.true
if the SHA-256 hashes of the two secrets are
equal, else false
.Copyright © 2018 Connect2id Ltd.. All rights reserved.