900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > hmacsha256 java实现_HMACSHA256加密算法 java实现

hmacsha256 java实现_HMACSHA256加密算法 java实现

时间:2023-07-01 01:42:10

相关推荐

hmacsha256 java实现_HMACSHA256加密算法 java实现

import javax.crypto.Mac;

import javax.crypto.spec.SecretKeySpec;

public class HMACSHA256 {

/**

* 将加密后的字节数组转换成字符串

*

* @param b 字节数组

* @return 字符串

*/

public 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 加密后字符串

*/

public 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);

} catch (Exception e) {

System.out.println("Error HmacSHA256 ===========" + e.getMessage());

}

return hash;

}

public static void main(String[] args) {

String secret="aaa0711zzz";

System.err.println(sha256_HMAC(secret,"asd"));

}

}

输出:c6248891f19f33a0512f7b1b830f523cb6fc12797d6180881422abd2410d71a2

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。