Package org.pgpainless.algorithm

# Enum Class HashAlgorithm

java.lang.Object
java.lang.Enum<HashAlgorithm>
org.pgpainless.algorithm.HashAlgorithm

All Implemented Interfaces:
  `Serializable`, `Comparable<HashAlgorithm>`, `Constable`

public enum HashAlgorithm extends Enum<HashAlgorithm>
An enumeration of different hashing algorithms.

See Also:
  - RFC4880: Hash Algorithms

## Nested Class Summary

## Nested classes/interfaces inherited from class java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`MD5`
Deprecated.
`RIPEMD160`
`SHA1`
`SHA224`
`SHA256`
`SHA3_256`
`SHA3_512`
`SHA384`
`SHA512`

## Method Summary

Modifier and Type
Method
Description
`static HashAlgorithm`
`fromId(int id)`
Return the `HashAlgorithm` value that corresponds to the provided algorithm id.
`static HashAlgorithm`
`fromName(String name)`
Return the `HashAlgorithm` value that corresponds to the provided name.
`int`
`getAlgorithmId()`
Return the numeric algorithm id of the hash algorithm.
`String`
`getAlgorithmName()`
Return the text name of the hash algorithm.
`static HashAlgorithm`
`requireFromId(int id)`
Return the `HashAlgorithm` value that corresponds to the provided algorithm id.
`static HashAlgorithm`
`valueOf(String name)`
Returns the enum constant of this class with the specified name.
`static HashAlgorithm[]`
`values()`
Returns an array containing the constants of this enum class, in the order they are declared.

### Methods inherited from class java.lang.Enum

`clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### MD5

@Deprecated public static final HashAlgorithm MD5
Deprecated.

### SHA1

public static final HashAlgorithm SHA1

### RIPEMD160

public static final HashAlgorithm RIPEMD160

### SHA256

public static final HashAlgorithm SHA256

### SHA384

public static final HashAlgorithm SHA384

### SHA512

public static final HashAlgorithm SHA512

### SHA224

public static final HashAlgorithm SHA224

### SHA3_256

public static final HashAlgorithm SHA3_256

### SHA3_512

public static final HashAlgorithm SHA3_512

## Method Details

### values

public static HashAlgorithm[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

Returns:
  an array containing the constants of this enum class, in the order they are declared

### valueOf

public static HashAlgorithm valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum class has no constant with the specified name
  `NullPointerException` - if the argument is null

### fromId

@Nullable public static HashAlgorithm fromId(int id)
Return the `HashAlgorithm` value that corresponds to the provided algorithm id. If an invalid algorithm id was provided, null is returned.

Parameters:
  `id` - numeric id
Returns:
  enum value

### requireFromId

@Nonnull public static HashAlgorithm requireFromId(int id)
Return the `HashAlgorithm` value that corresponds to the provided algorithm id. If an invalid algorithm id was provided, throw a `NoSuchElementException`.

Parameters:
  `id` - algorithm id
Returns:
  enum value
Throws:
  `NoSuchElementException` - in case of an unknown algorithm id

### fromName

@Nullable public static HashAlgorithm fromName(String name)
Return the `HashAlgorithm` value that corresponds to the provided name. If an invalid algorithm name was provided, null is returned.

Parameters:
  `name` - text name
Returns:
  enum value
See Also:
  - RFC4880: §9.4 Hash Algorithms for a list of algorithms and names.

### getAlgorithmId

public int getAlgorithmId()
Return the numeric algorithm id of the hash algorithm.

Returns:
  numeric id

### getAlgorithmName

public String getAlgorithmName()
Return the text name of the hash algorithm.

Returns:
  text name