認證流程:
(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);
}
}