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加密:同時用於加密和數字簽名
概念:數字簽名是爲了確保發送的信息沒有被僞造,確實是我發出的。
公鑰加密,私鑰解密
私鑰簽名,公鑰驗證