Java Base64與訊息摘要演算法

2021-09-13 22:00:23 字數 1689 閱讀 8606

base64本質不是加密碼演算法。

安全和密碼

常用安全體系

對稱加密:指加密金鑰與解密金鑰相同。

非對稱加密:指加密金鑰與解密金鑰不同,金鑰分公鑰、私鑰。

雜湊函式:用來驗證資料的完整性。

特點:長度不受限制,雜湊值容易計算,雜湊運算過程不可逆。

比如:訊息摘要演算法md5等,sha–安全雜湊演算法,mac–訊息認證演算法。

數字簽名:主要是針對以數字的形式儲存的訊息進行的處理。

base64演算法

e-mail、金鑰、證書檔案

郵件的歷史問題,在網路傳輸過程中,如果為非ascii碼則會出現亂碼問題,

定義:基於64個字元的編碼演算法,

/**

* 基於jdk

*/public static void jdkbase64(string src) catch (ioexception e)

}/**

* 基於commons

*/public static void commonscodesbase64(string src)

des:

金鑰長度為56.

訊息摘要演算法

md應用場景:

jdk**實現:

public static void jdkmd5(string src) catch (nosuchalgorithmexception e) 

}

sha

安全雜湊演算法

固定長度摘要演算法

實現:

/**

* jdk實現

machmac含有金鑰的訊息摘要演算法。

public static void jdkhmacmd5(string src));

//還原金鑰

secretkey restoresecretkey=new secretkeyspec(key,"hmacmd5");

//例項化mac

mac mac= mac.getinstance(restoresecretkey.getalgorithm());

mac.init(restoresecretkey);

byte hmacmd5bytes = mac.dofinal(src.getbytes());

system.out.println("jdk hmacmd5:"+ hex.encodehexstring(hmacmd5bytes));

} catch (nosuchalgorithmexception e) catch (invalidkeyexception e) catch (decoderexception e)

}

學習自某課

java base64編碼和解碼

一 反射 encode by base64 public static string encodebase64 byteinput throws exception return string retobj decode by base64 public static byte decodebase...

高斯消元與期望DP

高斯消元可以解決一系列dp序混亂的無向圖上 期望 dp dp序是一道dp的所有狀態的乙個排列,使狀態x所需的所有前置狀態都位於狀態x前 通俗的說,在乙個狀態轉移方程中 左側的狀態應該在 右側的所有狀態之後 於是往往只有按dp序轉移狀態,才可以保證每個狀態值的正確性 一道dp的狀態序不是唯一的 常見的...

AMD64與IA64的區別

其實很多人從字面上,都以為amd64就是針對amd cpu的,ia64是針對intel cpu,其實是錯的,我最初也是這樣認為,其實不然 你在市面上買的到的intel 64位 cpu都屬於amd64範疇這個架構應該稱為 x86 64,因此不管是amd的64位cpu,還是intel的64位cpu,都是...