public static long genHMAC(byte[] data, String key) { byte[] result = new byte[8]; long value = 0; try { //根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称 SecretKeySpec signinKey = new SecretKeySpec(key.getBytes(), "HmacSHA1"); //生成一个指定 Mac 算法 的 Mac 对象 Mac mac = Mac.getInstance("HmacSHA1"); //用给定密钥初始化 Mac 对象 mac.init(signinKey); //完成 Mac 操作 byte[] iv = Arrays.copyOf(data, INITIALIZATION_VECTOR_SIZE); byte[] rawHmac = mac.doFinal(iv); ByteBuffer buffer = ByteBuffer.wrap(rawHmac, 0, 8); value = buffer.getLong(); } catch (NoSuchAlgorithmException e) { logger.error("猎豹解密失败,错误信息:" + e.getMessage()); } catch (InvalidKeyException e) { logger.error("猎豹解密失败,错误信息:" + e.getMessage()); } if (null != result) { return value; } else { return 0; } }
java HMACSHA1 加密解密
猜你喜欢
转载自blog.csdn.net/qq_38572383/article/details/80859750
今日推荐
周排行