All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bouncycastle.crypto.tls.HashAlgorithm Maven / Gradle / Ivy

Go to download

The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8. Note: this package includes the NTRU encryption algorithms.

There is a newer version: 1.78
Show newest version
package org.bouncycastle.crypto.tls;

/**
 * RFC 5246 7.4.1.4.1
 *
 * @deprecated Migrate to the (D)TLS API in org.bouncycastle.tls (bctls jar).
 */
public class HashAlgorithm
{
    public static final short none = 0;
    public static final short md5 = 1;
    public static final short sha1 = 2;
    public static final short sha224 = 3;
    public static final short sha256 = 4;
    public static final short sha384 = 5;
    public static final short sha512 = 6;

    public static String getName(short hashAlgorithm)
    {
        switch (hashAlgorithm)
        {
        case none:
            return "none";
        case md5:
            return "md5";
        case sha1:
            return "sha1";
        case sha224:
            return "sha224";
        case sha256:
            return "sha256";
        case sha384:
            return "sha384";
        case sha512:
            return "sha512";
        default:
            return "UNKNOWN";
        }
    }

    public static String getText(short hashAlgorithm)
    {
        return getName(hashAlgorithm) + "(" + hashAlgorithm + ")";
    }

    public static boolean isPrivate(short hashAlgorithm)
    {
        return 224 <= hashAlgorithm && hashAlgorithm <= 255;
    }

    public static boolean isRecognized(short hashAlgorithm)
    {
        switch (hashAlgorithm)
        {
        case md5:
        case sha1:
        case sha224:
        case sha256:
        case sha384:
        case sha512:
            return true;
        default:
            return false;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy