MAC검증도우미

KG톡인증 서비스는 인증을 위해 주고받는 데이터의 위변조 검증을 위해 데이터인증값(mac)을 생성하고 검증합니다.

데이터인증값은 HmacSHA256(DATA, KEY)의 결과를 HexString으로 변환 후 upperCase하여 생성합니다.

JAVA

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.DatatypeConverter;

public class HMACUtil {
   	public static String HMAC_SHA256(String data, String key) throws Exception{
	String alg ="HmacSHA256";
	Mac hmac = Mac.getInstance(alg);
	hmac.init(new SecretKeySpec(key.getBytes(), alg));
	hmac.update(data.getBytes());
	byte[] hash = hmac.doFinal();
	return DatatypeConverter.printHexBinary(hash).toUpperCase();
	}
}

JavaScript(Node.js)

crypt-js라이브러리를 사용합니다.

var crypto = require("cryptojs");
function generateMac(data, key){
	var hmac = crypto.createHmac("sha256", key);
	var hash = hmac.update(data).digest("hex");
	return hash.toUpperCase();
}
var mac = generateMac(data, key);

MAC 검증

이 페이지에서 거래인증값(MAC)을 비교해 볼 수 있습니다.