认证流程:
(1) 先由客户端向服务器发出一个验证请求。安全性浅析
由上面的介绍,我们可以看出,HMAC算法更象是一种加密算法,它引入了密钥,其安全性已经不完全依赖于所使用的HASH算法,安全性主要有以下几点保证:(2) HMAC与一般的加密重要的区别在于它具有“瞬时”性,即认证只在当时有效,而加密算法被破解后,以前的加密结果就可能被解密。
public byte[] encode(byte[] data) throws TransformerException {
SecretKeySpec sk = new SecretKeySpec(StringTools.getAsciiBytes(this.key), ""HmacMD5"");
Mac mac;
try {
mac = Mac.getInstance(HMAC_MD5_NAME);
mac.init(sk);
return mac.doFinal(data);
} catch (NoSuchAlgorithmException e) {
throw new TransformerException(e);
} catch (InvalidKeyException e) {
throw new TransformerException(e);
}
}