aboutsummaryrefslogtreecommitdiffstats
path: root/security-utils/src/main/java/com/yahoo/security
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-06-13 15:41:42 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-06-14 15:32:41 +0200
commit9b81cd781d18dea5d0a4e991fb9873ba741061de (patch)
treeb193f4ad132cc517f763d2b4188df6c9cce2f132 /security-utils/src/main/java/com/yahoo/security
parentaec40bd05a80e1cd186c73fdc060e16827485ab3 (diff)
Add factory methods accepting hex string
Diffstat (limited to 'security-utils/src/main/java/com/yahoo/security')
-rw-r--r--security-utils/src/main/java/com/yahoo/security/token/TokenCheckHash.java3
-rw-r--r--security-utils/src/main/java/com/yahoo/security/token/TokenFingerprint.java5
2 files changed, 8 insertions, 0 deletions
diff --git a/security-utils/src/main/java/com/yahoo/security/token/TokenCheckHash.java b/security-utils/src/main/java/com/yahoo/security/token/TokenCheckHash.java
index e4d9825842e..2ff47081784 100644
--- a/security-utils/src/main/java/com/yahoo/security/token/TokenCheckHash.java
+++ b/security-utils/src/main/java/com/yahoo/security/token/TokenCheckHash.java
@@ -4,6 +4,7 @@ package com.yahoo.security.token;
import java.util.Arrays;
import static com.yahoo.security.ArrayUtils.hex;
+import static com.yahoo.security.ArrayUtils.unhex;
/**
* A token check hash represents a hash derived from a token in such a way that
@@ -43,4 +44,6 @@ public record TokenCheckHash(byte[] hashBytes) {
return new TokenCheckHash(Arrays.copyOf(hashBytes, hashBytes.length));
}
+ public static TokenCheckHash ofHex(String hex) { return ofRawBytes(unhex(hex)); }
+
}
diff --git a/security-utils/src/main/java/com/yahoo/security/token/TokenFingerprint.java b/security-utils/src/main/java/com/yahoo/security/token/TokenFingerprint.java
index 9ce8d55f161..0bec3d8af80 100644
--- a/security-utils/src/main/java/com/yahoo/security/token/TokenFingerprint.java
+++ b/security-utils/src/main/java/com/yahoo/security/token/TokenFingerprint.java
@@ -57,4 +57,9 @@ public record TokenFingerprint(byte[] hashBytes) {
return new TokenFingerprint(Arrays.copyOf(hashBytes, hashBytes.length));
}
+ public static TokenFingerprint ofHex(String hex) {
+ var format = hex.contains(":") ? HexFormat.ofDelimiter(":") : HexFormat.of();
+ return ofRawBytes(format.parseHex(hex));
+ }
+
}