java加解密
密碼常用術(shù)語
- 明文:待加密信息
- 密文:經(jīng)過加密后的明文
- 加密:明文轉(zhuǎn)為密文的過程
- 加密算法:明文轉(zhuǎn)為密文的轉(zhuǎn)換算法
- 加密密鑰:通過加密算法進(jìn)行加密操作用的密鑰
- 解密:將密文轉(zhuǎn)為明文的過程
- 解密算法:將密文轉(zhuǎn)為明文的算法
- 密碼協(xié)議:也稱安全協(xié)議,指以密碼學(xué)為基礎(chǔ)的消息交換的通信協(xié)議
- 科克霍夫原則:數(shù)據(jù)的安全基于密鑰而不是算法的保密
密碼分類
| 名稱 | 別名 | 詳細(xì)說明 |
|---|---|---|
| 對稱密碼 | 單鑰密碼或私鑰密碼 | 指加密密鑰與解密密鑰相同 |
| 非對稱密碼 | 雙鑰密碼或公鑰密碼 | 加密密鑰與解密密鑰不同,密鑰分公鑰私鑰 |
散列函數(shù)
驗(yàn)證數(shù)據(jù)的完整性
特點(diǎn)
- 長度不受限制
- 哈希值容易計(jì)算
- 運(yùn)算結(jié)果不可逆
相關(guān)算法
- 消息摘要算法MD5等
- SHA--安全散列算法
- MAC--消息認(rèn)證碼算法
數(shù)字簽名
主要針對以數(shù)字的形式存儲的消息進(jìn)行的處理
相關(guān)java包、類
- java.security
--消息摘要 - javax.crypto
--安全消息摘要,消息認(rèn)證(鑒別)碼 - java.net.ssl
--安全套接字
第三方擴(kuò)展
- Bouncy Castle
- Commons Codec
- Apache
- Base64、二進(jìn)制、十六進(jìn)制、字符編碼集
- Url編碼解碼
Base64算法
應(yīng)用場景:e-mail、密鑰證書文件
對稱加密算法
- DES(Data Encryption Standard)數(shù)據(jù)加密標(biāo)準(zhǔn)
- 3DES 效率低
- AES 至今未被破解
AES通常用于移動通信系統(tǒng)以及基于SSH協(xié)議的軟件