java实现HMACSHA256加密签名

java实现HMACSHA256加密签名java 实现 HMACSHA256 加密签名 需要按照字典排序的朋友可以用 SortedMapmes newTreeMap 进行排序后在加密 version1 0 project autoTrade author QC 班长 date 2017 8 3 time 10 17 importjavax crypto Mac importjava

java实现HMACSHA256加密签名,需要按照字典排序的朋友可以用 
SortedMap 
  
    message=new TreeMap 
   
     ();进行排序后在加密。 / * @version 1.0 * @project: autoTrade * @author: QC班长 * @date:2017/8/3 * @time:10:17 */ import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.util.*; public class HMACSHA256 { // SECRET KEY private final static String secret_key = "ndE2jdZNFixH9G6Aidsfyf7lYT3PxW"; / * 将加密后的字节数组转换成字符串 * * @param b 字节数组 * @return 字符串 */ private static String byteArrayToHexString(byte[] b) { StringBuilder hs = new StringBuilder(); String stmp; for (int n = 0; b!=null && n < b.length; n++) { stmp = Integer.toHexString(b[n] & 0XFF); if (stmp.length() == 1) hs.append('0'); hs.append(stmp); } return hs.toString().toLowerCase(); } / * sha256_HMAC加密 * @param message 消息 * @param secret 秘钥 * @return 加密后字符串 */ private static String sha256_HMAC(String message, String secret) { String hash = ""; try { Mac sha256_HMAC = Mac.getInstance("HmacSHA256"); SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA256"); sha256_HMAC.init(secret_key); byte[] bytes = sha256_HMAC.doFinal(message.getBytes()); hash = byteArrayToHexString(bytes); System.out.println(hash); } catch (Exception e) { System.out.println("Error HmacSHA256 ===========" + e.getMessage()); } return hash; } } 
    
  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208808.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:43
下一篇 2026年3月19日 上午10:44


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号