失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java HMAC-SHA1加密算法的实现

Java HMAC-SHA1加密算法的实现

时间:2021-09-21 05:14:37

相关推荐

Java HMAC-SHA1加密算法的实现

**摘 要:**HMAC-SHA1是一种安全的基于加密 hash函数和共享密钥的消息认证协议,它可以有效地防止数据在传输的过程中被截取和篡改,维护了数据的完整性、可靠性和安全性。HMAC-SHA1消息认证机制的成功在于一个加密的 hash函数、一个加密的随机密钥和一个安全的密钥交换机制。本博客目前不涉及其加密的数学知识,也不涉及到其中的加密原理,只是实现了Java语言实现加密的方式。随着以后知识的深入,再继续的补充过来。

Java 加密代码:

public static String hamcsha1(byte[] data, byte[] key) {try {SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA1");Mac mac = Mac.getInstance("HmacSHA1");mac.init(signingKey);return byte2hex(mac.doFinal(data));} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (InvalidKeyException e) {e.printStackTrace();}return null;}

然后我们再将加密后的字节数组转换成一个字符串:

//二行制转字符串 public static String byte2hex(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().toUpperCase();}

最后当我们写好了代码之后还需要测试一下我们加密代码是否正确,这里我这是设置加密内容位:123456,加密的密钥为:12345678,最后得到的加密结果是:8fcfc2d7e51f5b502ad1b2270e885e29a7bb81df,然后我们跟在线加密网站(/)上加密后的内容进行比对一下,看看我们的加密结果是否和网站的一样。

如果觉得《Java HMAC-SHA1加密算法的实现》对你有帮助,请点赞、收藏,并留下你的观点哦!

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