Java編碼加密摘要算法異同比較與總結
阿新 • • 發佈:2018-09-25
服務 不同的 aes 計算 編碼 str 運行速度 對數 表示
編碼算法
- URL編碼.
用途:數據發送給服務器使用URL編碼規則.
編碼規則:A~Z,a~z,0-9,-_.*保持不變,其他字符以%xx表示。如中文:%E4%B8%AD(該漢字的的十六進制是0xe4b8ad)
2.Unicode編碼
十六進制編碼。中文和引文的編碼不一樣。
3.Base64編碼
用途:把二進制數據用文本表示的算法。
摘要算法
用途:計算任意長度數據的摘要,輸出固定長度.
1.MD5摘要算法
大小:長度128位,16字節
2.SHA-1摘要算法,通常用於數字簽名.
大小:長度160位,20字節
3.SHA-256摘要算法
大小:長度256位,32字節,是SHA1的擴充版.
MD5和SHA1比較:SHA1摘要長度比MD5長32位.如果遇上強行攻擊,SHA1安全性要高於MD5.但速度上,在相同的硬件上,SHA1運行速度比MD5慢.
加密算法
- 對稱加密算法
DES算法/AES算法
使用同一個密鑰進行加密和解密.
例子:WinRAR解壓文件夾,使用的即為對稱加密算法.
2.非對稱加密算法
RSA算法
使用不同的密鑰進行加密和解密,公鑰加密和私鑰解密.除了加密以外,RSA同樣可對數據進行簽名.
各算法在數據通信中的用途: 摘要算法:確保數據從發送到接收完成過程沒有被篡改. 對稱/非對稱加密算法:對通信數據進行加密和解密. 簽名算法:確保數據完整性和抗否認性.Java編碼加密摘要算法異同比較與總結