Java HMAC hmac_sha(String crypto, byte[] keyBytes, byte[] text)

Here you can find the source of hmac_sha(String crypto, byte[] keyBytes, byte[] text)

Description

This method uses the JCE to provide the crypto algorithm.

License

Apache License

Parameter

Parameter Description

Declaration

private static byte[] hmac_sha(String crypto, byte[] keyBytes, byte[] text) 

Method Source Code


//package com.java2s;
//License from project: Apache License 

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.lang.reflect.UndeclaredThrowableException;

import java.security.GeneralSecurityException;

public class Main {
    /**//  w w  w .  j av a  2s .  c  o m
     * This method uses the JCE to provide the crypto algorithm.
     * HMAC computes a Hashed Message Authentication Code with the
     * crypto hash algorithm as a parameter.
     *
     * @param crypto:   the crypto algorithm (HmacSHA1, HmacSHA256,
     *                  HmacSHA512)
     * @param keyBytes: the bytes to use for the HMAC key
     * @param text:     the message or text to be authenticated
     */
    private static byte[] hmac_sha(String crypto, byte[] keyBytes, byte[] text) {
        try {
            Mac hmac;
            hmac = Mac.getInstance(crypto);
            SecretKeySpec macKey = new SecretKeySpec(keyBytes, "RAW");
            hmac.init(macKey);
            return hmac.doFinal(text);
        } catch (GeneralSecurityException gse) {
            throw new UndeclaredThrowableException(gse);
        }
    }
}

Related

  1. hmac(byte key[], byte text[])
  2. hmac(String hash, String data, String key)
  3. hmac(String msg, String keyString)
  4. HMAC(String username, BigInteger nonce, String hashedPassword)
  5. hmac_sha(String crypto, byte[] keyBytes, byte[] text)
  6. hmacDigest(String message, String secretKey, String algorithm)
  7. hmacEncode(String algorithm, String input, String privateKey)
  8. hmacHex(String keyString, String message, String hmac)
  9. hmacSha(byte[] keyBytes, byte[] text)