| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package com.ydtech.utils;
- import sun.misc.BASE64Encoder;
- import javax.crypto.Mac;
- import javax.crypto.spec.SecretKeySpec;
- import java.io.UnsupportedEncodingException;
- import java.security.InvalidKeyException;
- import java.security.NoSuchAlgorithmException;
- public class HMAC256Uitil {
- //hmac256
- public static String hmac256(String data, String key) {
- StringBuilder sb = new StringBuilder();
- byte[] bytes = null;
- String encode = null;
- try {
- Mac hmacSHA256 = Mac.getInstance("HMACSHA256");
- try {
- SecretKeySpec hmacSHA2561 = new SecretKeySpec(key.getBytes("utf-8"), "HMACSHA256");
- try {
- hmacSHA256.init(hmacSHA2561);
- bytes = hmacSHA256.doFinal(data.getBytes("utf-8"));
- } catch (InvalidKeyException e) {
- e.printStackTrace();
- }
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- BASE64Encoder base64Encoder = new BASE64Encoder();
- // byte[] bytes = data.getBytes("utf-8");
- encode = base64Encoder.encode(bytes);
- System.out.println("加密后--" + encode);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return encode;
- }
- public static void main(String[] args) {
- hmac256("<cityCode>140400</cityCode><cityName>长治市</cityName><frameNo>LVVDA11B7AD256799</frameNo><licenseNo>晋DW0716</licenseNo><engineNo>NAAG02917</engineNo><enrollDate>2010-08-23</enrollDate><modelName>奇瑞SQR7150A130轿车</modelName><modelCode/><newVehicle/><extendInfo/>", "123456test");
- String xmlString = "<RequestData><requestHead><seqNo>1d6ff938-ada5-4f39-9fc1-e</seqNo><consumerID>102120</consumerID><consumerAccessKey>123456test</consumerAccessKey><transCode>C1</transCode><transTime>2022-07-12 18:00:00</transTime></requestHead><requestBody><cityCode>140400</cityCode><cityName>长治市</cityName><frameNo>LVVDA11B7AD256799</frameNo><licenseNo>晋DW0716</licenseNo><engineNo>NAAG02917</engineNo><enrollDate>2010-08-23</enrollDate><modelName>奇瑞SQR7150A130轿车</modelName><modelCode/><newVehicle/><extendInfo/></requestBody></RequestData>";
- xmlString = xmlString.substring(xmlString.lastIndexOf("<requestBody>") + 13, xmlString.lastIndexOf("</requestBody>"));
- String consumerAccessKey = hmac256(xmlString, "123456test");
- System.out.println("consumerAccessKey--" + consumerAccessKey);
- }
- }
|