Base64
Base64最早應用于解決電子郵件傳輸?shù)膯栴}。
Base64基于64個字符的編碼算法,(A-Z,a-z,0-9,+/=)最后一個字符是等號,它是用來補位的龄减。
消息摘要算法
消息摘要算法包含MD(Message Digest,消息摘要算法)班眯、SHA(Secure Hash Algorithm希停,安全散列算法)和MAC(Message Authentication Code,消息認證碼算法)共3大系列署隘,常用于驗證數(shù)據(jù)的完整性宠能,是數(shù)字簽名算法的核心算法。
消息摘要算法一直是非對稱加密算法中一項舉足輕重的關鍵性算法磁餐。
消息摘要算法又稱為散列算法违崇,其核心在于散列函數(shù)的單向性。通過散列函數(shù)可得到對應的散列值诊霹,不可反推羞延。
MD5
MD5算法是典型的消息摘要算法,其前身有MD2畅哑、MD3和MD4算法肴楷。不論是哪種MD算法水由,都需要獲得一個隨機長度的信息并產生一個128位的信息摘要荠呐。
SHA
SHA算法基于MD4算法基礎上,新一代的消息摘要算法砂客。與MD算法不同之處在于摘要長度泥张,SHA算法的摘要長度更長,安全性更高鞠值。
SHA算法目前共有SHA-1媚创、SHA-224、SHA-256彤恶、SHA-384和SHA-512五種算法钞钙,通常將后四種算法稱為SHA-2算法鳄橘。
MAC
對稱加密算法
對稱密碼體制要求加密與解密使用同一個共享密鑰,解密是加密的逆運算芒炼。
DES
三重DES
AES
非對稱加密算法
非對稱密碼體制的加密密鑰和解密密鑰不相同瘫怜,分為公鑰與私鑰。
RSA
第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法本刽。
數(shù)字簽名算法
數(shù)字簽名算法可以看做是一種帶有密鑰的消息摘要算法鲸湃,并且這種密鑰包含了公鑰和私鑰。也就是說子寓,數(shù)字簽名算法是非對稱加密算法和消息摘要算法的結合體暗挑。
RSA
DSA
ECDSA
數(shù)字證書
安全協(xié)議
HTTPS協(xié)議(附加了SSL/TLS協(xié)議的HTTP協(xié)議)為數(shù)字證書提供了最佳的應用環(huán)境。
參考
- 《Java加密與解密的藝術》