当前位置:   article > 正文

HMAC-SHA1加密

hmacsha1

 SHA-1(安全哈希算法,也称为 SHS、安全哈希标准)是由美国政府发布的一种加密哈希算法。

HmacSHA1:

HMAC,全称为“Hash Message Authentication Code”,中文名“散列消息鉴别码”,主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。一般的,消息鉴别码用于验证传输于两个共 同享有一个密钥的单位之间的消息。HMAC 可以与任何迭代散列函数捆绑使用。MD5 和 SHA-1 就是这种散列函数。HMAC 还可以使用一个用于计算和确认消息鉴别值的密钥

  1. public static String getHmacSHA1(String message, String key) {
  2. String hmacSha1 = null;
  3. try {
  4. // url encode
  5. message = URLEncoder.encode(message, "UTF-8");
  6. // hmac-sha1加密
  7. Mac mac = Mac.getInstance("HmacSHA1");
  8. SecretKeySpec spec = new SecretKeySpec(key.getBytes(), "HmacSHA1");
  9. mac.init(spec);
  10. byte[] byteHMAC = mac.doFinal(message.getBytes());
  11. // base64 encode
  12. hmacSha1 = new BASE64Encoder().encode(byteHMAC);
  13. } catch (NoSuchAlgorithmException e) {
  14. DevLog.error("NoSuchAlgorithmException: ",e);
  15. PA18LogUtil.error(log, "NoSuchAlgorithmException: ",e);
  16. } catch (InvalidKeyException e) {
  17. DevLog.info("InvalidKeyException: "+e);
  18. PA18LogUtil.error(log, "InvalidKeyException: ",e);
  19. } catch (UnsupportedEncodingException e) {
  20. DevLog.info("UnsupportedEncodingException: "+e);
  21. PA18LogUtil.error(log, "UnsupportedEncodingException: ",e);
  22. }
  23. return hmacSha1;
  24. }

 

转载于:https://my.oschina.net/u/198077/blog/1596260

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/447818
推荐阅读
相关标签
  

闽ICP备14008679号