jmeter 内java生成HMACSHA256的方法

java生成HMACSHA256的方法

问题引入:jmeter 接口需要签名
签名方式:HmacSHA256 + 16进制如下;

public static String HMACSHA256(String data, String key) throws Exception {
    
    

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

       SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");

       sha256_HMAC.init(secret_key);

       byte[] array = sha256_HMAC.doFinal(data.getBytes("UTF-8"));

       StringBuilder sb = new StringBuilder();

       for (byte item : array) {
    
    

           sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));

       }

       return sb.toString().toUpperCase();

   }

仅仅靠上面的不行:
key.getBytes(“UTF-8”) ---->修改为: key.getBytes(StandardCharsets.UTF_8)
即可

猜你喜欢

转载自blog.csdn.net/qq_21102235/article/details/123713256
今日推荐