Class DigestBuilder
- java.lang.Object
-
- com.inductiveautomation.ignition.common.util.DigestBuilder
-
public class DigestBuilder extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
build()
Compute and return the digest.java.lang.String
buildHexString()
Compute and return the digest as a lower-case hex-encoded String.static DigestBuilder
custom(java.lang.String algorithm)
static DigestBuilder
md5()
DigestBuilder
reset()
Manually reset the underlyingMessageDigest
.static DigestBuilder
sha1()
static DigestBuilder
sha256()
DigestBuilder
update(boolean input)
Update the digest input withinput
.DigestBuilder
update(byte input)
Update the digest input withinput
.DigestBuilder
update(byte[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.DigestBuilder
update(double input)
Update the digest input with the bytes from the big-endian representation ofinput
's raw long bits.DigestBuilder
update(double[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.DigestBuilder
update(float input)
Update the digest input with the bytes from the big-endian representation ofinput
's raw int bits.DigestBuilder
update(float[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.DigestBuilder
update(int input)
Update the digest input with the bytes from the big-endian representation ofinput
.DigestBuilder
update(int[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.DigestBuilder
update(long input)
Update the digest input with the bytes from the big-endian representation ofinput
.DigestBuilder
update(long[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.DigestBuilder
update(short input)
Update the digest input with the bytes from the big-endian representation ofinput
.DigestBuilder
update(short[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.DigestBuilder
update(java.lang.String input)
Update the digest input with bytes frominput
inStandardCharsets.UTF_8
encoding.DigestBuilder
update(java.lang.String input, java.nio.charset.Charset charset)
Update the digest input with bytes frominput
incharset
encoding.
-
-
-
Method Detail
-
md5
public static DigestBuilder md5()
- Returns:
- a
DigestBuilder
that uses the MD5 algorithm.
-
sha1
public static DigestBuilder sha1()
- Returns:
- a
DigestBuilder
that uses the SHA-1 algorithm.
-
sha256
public static DigestBuilder sha256()
- Returns:
- a
DigestBuilder
that uses the SHA-256 algorithm.
-
custom
public static DigestBuilder custom(java.lang.String algorithm) throws java.security.NoSuchAlgorithmException
- Parameters:
algorithm
- the message digest algorithm.- Returns:
- a
DigestBuilder
that usesalgorithm
. - Throws:
java.security.NoSuchAlgorithmException
- if no message digest foralgorithm
is available.
-
update
public DigestBuilder update(java.lang.String input)
Update the digest input with bytes frominput
inStandardCharsets.UTF_8
encoding.- Parameters:
input
- the input String.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(java.lang.String input, java.nio.charset.Charset charset)
Update the digest input with bytes frominput
incharset
encoding.- Parameters:
input
- the input String.charset
- the encodingCharset
.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(boolean input)
Update the digest input withinput
.If
true
, a byte equal to 1, otherwise 0.- Parameters:
input
- the input boolean.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(byte input)
Update the digest input withinput
.- Parameters:
input
- the inpute byte.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(short input)
Update the digest input with the bytes from the big-endian representation ofinput
.- Parameters:
input
- the input short.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(int input)
Update the digest input with the bytes from the big-endian representation ofinput
.- Parameters:
input
- the input int.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(long input)
Update the digest input with the bytes from the big-endian representation ofinput
.- Parameters:
input
- the input long.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(float input)
Update the digest input with the bytes from the big-endian representation ofinput
's raw int bits.- Parameters:
input
- the input float.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(double input)
Update the digest input with the bytes from the big-endian representation ofinput
's raw long bits.- Parameters:
input
- the input double.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(byte[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.- Parameters:
input
- the input array.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(short[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.- Parameters:
input
- the input array.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(int[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.- Parameters:
input
- the input array.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(long[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.- Parameters:
input
- the input array.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(float[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.- Parameters:
input
- the input array.- Returns:
- this
DigestBuilder
.
-
update
public DigestBuilder update(double[] input)
Update the digest input with the bytes from the big-endian representation of each element ofinput
.- Parameters:
input
- the input array.- Returns:
- this
DigestBuilder
.
-
reset
public DigestBuilder reset()
Manually reset the underlyingMessageDigest
.This is done automatically after a call to
build()
orbuildHexString()
.- Returns:
- this
DigestBuilder
.
-
build
public byte[] build()
Compute and return the digest.The underlying
MessageDigest
is reset and this builder can be re-used.- Returns:
- the computed digest.
-
buildHexString
public java.lang.String buildHexString()
Compute and return the digest as a lower-case hex-encoded String.The underlying
MessageDigest
is reset and this builder can be re-used.- Returns:
- the computed digest as a lower-case hex-encoded String.
-
-