java 创建 HMAC 签名

ava 创建 HMAC 签名

 psd素材

1. []ComputopTest.java     

package com.javaonly.hmac.test;

 

import java.io.IOException;

import java.security.InvalidKeyException;

import java.security.KeyManagementException;

import java.security.NoSuchAlgorithmException;

import javax.crypto.BadPaddingException;

import javax.crypto.Cipher;

import javax.crypto.IllegalBlockSizeException;

import javax.crypto.NoSuchPaddingException;

import javax.crypto.SecretKey;

import javax.crypto.spec.SecretKeySpec;

import org.apache.commons.codec.binary.Hex;

import javax.crypto.Mac;

 

public class ComputopTest {

 

 public static void main(String args[]) throws NoSuchAlgorithmException,

   KeyManagementException,

    InvalidKeyException,

   IllegalBlockSizeException, BadPaddingException {

 

  

  

  String macKey = "The HMAC key";

  String macData ="the data string"

  System.out.println("MACDATA:"+macData);

 

  Mac mac = Mac.getInstance("HmacSHA256");

                //get the bytes of the hmac key and data string

  byte[] secretByte = macKey.getBytes("UTF-8");

  byte[] dataBytes = macData.getBytes("UTF-8");

  SecretKey secret = new SecretKeySpec(secretByte, "HMACSHA256");

 

  mac.init(secret);http://www.huiyi8.com/moban/

  byte[] doFinal = mac.doFinal(dataBytes);

  byte[] hexB = new Hex().encode(doFinal);

  String checksum = new String(hexB);

  

 }

}

你可能感兴趣的:(java)