各种加密算法用法及作用
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加密:同時用于加密和數字簽名
概念:數字簽名是為了確保發送的信息沒有被偽造,確實是我發出的。
公鑰加密,私鑰解密
私鑰簽名,公鑰驗證
總結
以上是生活随笔為你收集整理的各种加密算法用法及作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java实现Google第三方登录
- 下一篇: 多线程JUC学习