src/org/kocakosm/pitaya/security/Factory.java
static MAC newMAC(Algorithm<MAC> algorithm, byte[] key)
	{
		Parameters.checkNotNull(algorithm);
		MAC mac;
		if (algorithm == Algorithm.HMAC_MD2) {
			mac = HMAC.md2(key);
		} else if (algorithm == Algorithm.HMAC_MD4) {
			mac = HMAC.md4(key);
		} else if (algorithm == Algorithm.HMAC_MD5) {
			mac = HMAC.md5(key);
		} else if (algorithm == Algorithm.HMAC_SHA1) {
			mac = HMAC.sha1(key);
		} else if (algorithm == Algorithm.HMAC_SHA256) {
			mac = HMAC.sha256(key);
		} else if (algorithm == Algorithm.HMAC_SHA512) {
			mac = HMAC.sha512(key);
		} else if (algorithm == Algorithm.HMAC_KECCAK224) {
			mac = HMAC.keccak224(key);
		} else if (algorithm == Algorithm.HMAC_KECCAK256) {
			mac = HMAC.keccak256(key);
		} else if (algorithm == Algorithm.HMAC_KECCAK384) {
			mac = HMAC.keccak384(key);
		} else if (algorithm == Algorithm.HMAC_KECCAK512) {
			mac = HMAC.keccak512(key);
		} else {
			throw new IllegalArgumentException("Unknown algorithm");
		}
		return mac;
	}
static MAC newMAC(Algorithm<MAC> algorithm, byte[] key)
	{
		Parameters.checkNotNull(algorithm);
		MAC mac;
		if (algorithm == Algorithm.HMAC_MD2) {
			mac = HMAC.md2(key);
		} else if (algorithm == Algorithm.HMAC_MD4) {
			mac = HMAC.md4(key);
		} else if (algorithm == Algorithm.HMAC_MD5) {
			mac = HMAC.md5(key);
		} else if (algorithm == Algorithm.HMAC_SHA1) {
			mac = HMAC.sha1(key);
		} else if (algorithm == Algorithm.HMAC_SHA256) {
			mac = HMAC.sha256(key);
		} else if (algorithm == Algorithm.HMAC_SHA512) {
			mac = HMAC.sha512(key);
		} else if (algorithm == Algorithm.HMAC_KECCAK224) {
			mac = HMAC.keccak224(key);
		} else if (algorithm == Algorithm.HMAC_KECCAK256) {
			mac = HMAC.keccak256(key);
		} else if (algorithm == Algorithm.HMAC_KECCAK384) {
			mac = HMAC.keccak384(key);
		} else if (algorithm == Algorithm.HMAC_KECCAK512) {
			mac = HMAC.keccak512(key);
		} else {
			throw new IllegalArgumentException("Unknown algorithm");
		}
		return mac;
	}
Creates and returns a {@link MAC} instance corresponding to the given
algorithm, initialized with the provided secret key.

@param algorithm the MAC algorithm.
@param key the secret key.

@return the created {@link MAC} instance.

@throws NullPointerException if {@code algorithm} is {@code null}.
@throws IllegalArgumentException if the given algorithm is unknown.