1. 程式人生 > >JDK中JCA的簡單使用(四)---Mac加密

JDK中JCA的簡單使用(四)---Mac加密

Mac 類

訊息認證碼(MAC)提供了一種檢查在不可靠介質上傳輸或儲存在不可靠介質中的資訊的完整性的方法,只有擁有正確金鑰的人才能驗證收到的訊息。

 

基於加密雜湊函式的MAC機制被稱為HMAC。HMAC可以與任何加密雜湊函式(例如,SHA-256)一起使用,並結合祕密共享金鑰。

 

應用場景:

介面簽名校驗,防止抓包偽造請求。

 //macKey為雙方共同持有的祕鑰,HmacSHA1 為加密演算法
   SecretKeySpec keySpec = new SecretKeySpec(macKey, "HmacSHA1");
   Mac mac;
try {
    mac = Mac.getInstance("HmacSHA1");  
    mac.init(keySpec);
    byte[] result = mac.doFinal(sb.toString().getBytes("UTF-8"));
    return result;
} catch (Exception e) {
    e.printStackTrace();
}