1
我有下面的代碼來計算Hmacs用密碼:如何驗證HMAC的Java
public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeyException
{
String password = "password123";
SecretKeySpec keySpec = new SecretKeySpec(password.getBytes(), "HmacSHA1");
Mac mac = Mac.getInstance("HmacSHA1");
mac.init(keySpec);
byte[] result = mac.doFinal("This is a test string".getBytes());
System.out.println(new Base64().encodeAsString(result));
}
但我無法弄清楚如何使用密碼來驗證它,我讀了Java文檔here但我似乎無法找到一個驗證功能或任何東西,關於HMAC的部分非常短。
我如何使用密碼驗證HMAC?
究竟你的意思是驗證? – 2014-11-01 14:59:10
@MarkusWMahlberg根據(散列+密碼)檢查原始字符串以驗證完整性 – Crizly 2014-11-01 15:02:46
您只需再次執行散列並檢查結果是否匹配。如果其中任何一個字符串有絲毫差異,則散列不匹配。如果它們匹配,則知道兩個輸入字符串和兩個密碼匹配,因爲哈希匹配。 – 2014-11-01 15:08:16