1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2025-09-09 18:29:39 +02:00

Add comments to HashAlgorithm

This commit is contained in:
Paul Schaub 2025-02-28 10:21:13 +01:00
parent 748714fd79
commit 5a7f7900be
Signed by: vanitasvitae
GPG key ID: 62BEE9264BF17311

View file

@ -11,15 +11,19 @@ package org.pgpainless.algorithm
*/ */
enum class HashAlgorithm(val algorithmId: Int, val algorithmName: String) { enum class HashAlgorithm(val algorithmId: Int, val algorithmName: String) {
// 0 is reserved
@Deprecated("MD5 is deprecated") MD5(1, "MD5"), @Deprecated("MD5 is deprecated") MD5(1, "MD5"),
SHA1(2, "SHA1"), SHA1(2, "SHA1"),
RIPEMD160(3, "RIPEMD160"), RIPEMD160(3, "RIPEMD160"),
// 4 - 7 are reserved
SHA256(8, "SHA256"), SHA256(8, "SHA256"),
SHA384(9, "SHA384"), SHA384(9, "SHA384"),
SHA512(10, "SHA512"), SHA512(10, "SHA512"),
SHA224(11, "SHA224"), SHA224(11, "SHA224"),
SHA3_256(12, "SHA3-256"), SHA3_256(12, "SHA3-256"),
// 13 is reserved
SHA3_512(14, "SHA3-512"), SHA3_512(14, "SHA3-512"),
// 100 - 110 are private / experimental
; ;
companion object { companion object {
@ -57,12 +61,14 @@ enum class HashAlgorithm(val algorithmId: Int, val algorithmName: String) {
* for a list of algorithms and names. * for a list of algorithms and names.
* *
* @param name text name * @param name text name
* @return enum value * @return enum value or null
*/ */
@JvmStatic @JvmStatic
fun fromName(name: String): HashAlgorithm? { fun fromName(name: String): HashAlgorithm? {
return name.uppercase().let { algoName -> return name.uppercase().let { algoName ->
// find value where it.algorithmName == ALGO-NAME
values().firstOrNull { it.algorithmName == algoName } values().firstOrNull { it.algorithmName == algoName }
// else, find value where it.algorithmName == ALGONAME
?: values().firstOrNull { it.algorithmName == algoName.replace("-", "") } ?: values().firstOrNull { it.algorithmName == algoName.replace("-", "") }
} }
} }