1茬贵,對稱加密算法,是指加密和解密使用相同的密鑰
2移袍,非對稱加密算法:又稱為公鑰加密算法解藻,是指加密和解密使用不同的密鑰,公共的公鑰用于加密葡盗,私鑰用于解密螟左,比如第一次請求一個https網(wǎng)站的時候,該網(wǎng)站服務(wù)器會發(fā)送一個數(shù)字證書(里面包含公鑰)給瀏覽器觅够,瀏覽器自動驗證證書是否合法有效胶背,如果是則自動隨機(jī)生成一個key,通過該證書的公鑰加密后發(fā)送給服務(wù)器喘先,服務(wù)器則通過證書的私鑰解密獲得瀏覽器發(fā)送過來的key钳吟,服務(wù)器和瀏覽器之間就通過這個key來進(jìn)行加密通信,這個key稱為對話密鑰苹祟。當(dāng)然私鑰也可以用來加密砸抛,只有對應(yīng)的公鑰才能解密,比如瀏覽器在驗證證書合法有效的時候树枫,通過頒發(fā)機(jī)構(gòu)的公鑰解密獲取機(jī)構(gòu)信息的hash值直焙,頒發(fā)機(jī)構(gòu)在申請者頒發(fā)數(shù)字證書的時候會用申請者的個人信息通過頒發(fā)機(jī)構(gòu)的證書私鑰用hash算法加密生成一個hash值當(dāng)做證書的數(shù)字簽名。
3砂轻,散列/哈希算法:是指把數(shù)據(jù)通過某種公開的算法變成固定長度的hash值奔誓,這個過程可以使用密鑰也可以不使用,這種加密算法是不可逆的,也就是說不能從加密后的hash值解密還原成明文厨喂,因此和措,這種算法通常用于驗證數(shù)據(jù)是否被篡改和數(shù)據(jù)是否一致。因為同樣的明文加密后得到是相同的hash值蜕煌。典型的算法有MD5派阱,SHA,Base64等。