各種加密算法用法及作用

1、base64加密:防止在http傳輸過程中肉眼看到傳輸數據

2、md5加密:防止發送的消息被篡改    ===不需要密鑰

①用MessageDigest信息摘要器獲取MD5實例

②調用digest方法獲取字節數組

③將每一個字節與OXFF做&運算再轉換爲16機制

④將得到的每一個結果進行字符拼接得到加密後的字符串

3、DES加密:保存數據加密使用    ====加密和解密的密鑰相同密鑰長度64位

<1>加密

①實例化Cipher對象

②cipher.init(加密模式,密鑰,隨機密鑰)初始化Cipher對象,設置爲加密模式

③cipher.doFinal(要加密的字節)

④用base64編碼,返回加密後的字符串

<2>解密

①Cipher.getInstance()獲取cipher實例

② cipher.init(解密模式, 密鑰);初始化cipher對象

③Base64.decodeBase64(加密數據)解碼

④cipher.doFinal(解碼後的加密數據)解密

4、3DES加密: =====168位密鑰,3個密鑰

其具體實現如下:設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密文,這樣:

3DES加密過程爲:C=Ek3(Dk2(Ek1(P)))

3DES解密過程爲:P=Dk1(EK2(Dk3(C)))

5、AES加密:和DES加密相同,密鑰長度對少爲128位

6、RSA加密:同時用於加密和數字簽名

概念:數字簽名是爲了確保發送的信息沒有被僞造,確實是我發出的。

公鑰加密,私鑰解密

私鑰簽名,公鑰驗證

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章