此文章是vip文章,如何查看?  

1,点击链接获取密钥 http://nicethemes.cn/product/view29882.html

2,在下方输入文章查看密钥即可立即查看当前vip文章


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,然后我们跟在线加密网站(http://encode.chahuo.com/)上加密后的内容进行比对一下,看看我们的加密结果是否和网站的一样。

本文链接http://element-ui.cn/news/show-577102.aspx