java 创建 HMAC 签名

时间:2023-03-09 21:25:06
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);

}

}