一、base64java
base64是網絡上最多見的用於傳輸8bit字節代碼的編碼方式之一(能夠查看RFC2045~RFC2049,上面有MIME的詳細規範)。base64編碼可用於在http環境下傳遞較長的標識信息,例如,在java Persistence系統Hibernate中,就採用了base64來將一個較長的惟一標識符(通常爲128bit的UUID)編碼爲一個字符串,用做HTTP表單和HTTP GET URL中的參數。在其餘應用中的形式。此時,採用base64編碼具備不可讀性,即所編碼的數據不會被人用肉眼所直接看到。linux
二、MD5(Message-Digest Algorithm 5(信息-摘要算法5))算法
用於確保信息傳輸完整一致,是計算機普遍使用的雜湊算法之一(又名爲摘要算法、哈希算法),主流編程語言廣泛已有MD5實現。將數據(如漢字)運算爲另外一固定長度值,是雜湊算法的基礎原理,MD5的前身有MD二、MD三、MD4.。普遍用於加密和解密技術,經常使用於文件校驗,無論文件多大,通過md5後都能生成惟一的MD5值。比如如今的ISO校驗,都是MD5校驗。使用方法,就是把ISO通過MD5後產生的MD5值,通常下載linux-ISO會看到下載連接旁邊放着MD5的串,就是用來驗證文件是否一致。編程
三、sha網絡
安羣哈希算法(Secure Hash Algorithm)主要適用於數字簽名標準裏面定義的數字簽名算法。對於長度小於2^64位的消息,SHA1會產生一個160位的消息摘要。該算法的思想是接收一段明文,而後以一種不可逆的方式將它轉換成一段(一般更小)密文,也可理解爲取一串輸入碼,並把他們轉爲長度較短、位數固定的輸出序列即散列值(也稱爲信息摘要或信息認證代碼)的過程。散列函數值能夠說是對明文的一種「指紋」或「摘要」因此對散列值的數字簽名就能夠視爲對此明文的數字簽名編程語言
四、HMAC函數
HMAC(Hash Message Authentication Code),散列消息鑑別碼,基於密鑰的Hash算法的認證協議,它實現的原理是,用公開函數和密鑰產生一個固定長度的值做爲認證標識,用這個標識鑑別消息的完整性。使用一個密鑰生成一個固定大小的小數據塊,即MAC,並將其加入到消息中,而後傳出,接收方利用與發送方共享的密鑰進行鑑別認證等。編碼