/**
* TLS-Attacker - A Modular Penetration Testing Framework for TLS
*
* Copyright 2014-2016 Ruhr University Bochum / Hackmanit GmbH
*
* Licensed under Apache License 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*/
package de.rub.nds.tlsattacker.tls.constants;
import java.util.HashMap;
import java.util.Map;
/**
* @author Juraj Somorovsky <juraj.somorovsky@rub.de>
*/
public enum HashAlgorithm {
NONE((byte) 0, ""),
MD5((byte) 1, "MD5"),
SHA1((byte) 2, "SHA-1"),
SHA224((byte) 3, "SHA-224"),
SHA256((byte) 4, "SHA-256"),
SHA384((byte) 5, "SHA-384"),
SHA512((byte) 6, "SHA-512");
private final byte value;
private final String javaName;
private static final Map<Byte, HashAlgorithm> MAP;
private HashAlgorithm(byte value, String javaName) {
this.value = value;
this.javaName = javaName;
}
static {
MAP = new HashMap<>();
for (HashAlgorithm cm : HashAlgorithm.values()) {
MAP.put(cm.value, cm);
}
}
public static HashAlgorithm getHashAlgorithm(byte value) {
return MAP.get(value);
}
public byte getValue() {
return value;
}
public byte[] getArrayValue() {
return new byte[] { value };
}
public String getJavaName() {
return javaName;
}
}