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

Open Source License

Parameter

Parameter Description
crypto : the crypto algorithm (HmacSHA1, HmacSHA256, HmacSHA512)
keyBytes : the bytes to use for the HMAC key
text : the message or text to be authenticated

Declaration

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

Method Source Code

//package com.java2s;
/**//from ww  w  .java 2s  .  c  om
 * Copyright (c) 2011 IETF Trust and the persons identified as authors of the
 * code. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, is permitted pursuant to, and subject to the license terms
 * contained in, the Simplified BSD License set forth in Section 4.c of the IETF
 * Trust's Legal Provisions Relating to IETF Documents
 * (http://trustee.ietf.org/license-info).
 */

import java.lang.reflect.UndeclaredThrowableException;

import java.security.GeneralSecurityException;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

public class Main {
    /**
     * 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)