單向加密 & 雙向加密
目前主流加密手段大致可分爲單向加密和雙向加密。
單向加密
通過對數據進行摘要計算生成密文,密文不可逆推還原。
算法代表:Base64,MD5,SHA;
雙向加密
與單向加密相反,可以把密文逆推還原成明文,雙向加密又分爲對稱加密和非對稱加密。
對稱加密 & 非對稱加密
對稱加密
指數據使用者必須擁有相同的密鑰纔可以進行,就像彼此約定的一串暗號。
算法代表:DES,3DES,AES,IDEA,RC2,RC4,RC5,RC6, Blowfish,Twofish, Serpent, Gost, Rijndael, Cast, Xtea。
非對稱加密
相對對稱加密而言,無需擁有同一組密鑰,非對稱加密是一種“信息公開的密鑰交換協議”。
非對稱加密需要公開密鑰和私有密鑰兩組密鑰,公開密鑰和私有密鑰是配對起來的,也就是說使用公開密鑰進行數據加密,只有對應的私有密鑰才能解密。
算法代表:rsa公鑰,RSA密鑰對,PKCS#1轉PKCS8,DSA密鑰對。
公鑰 & 私鑰
這兩個密鑰是數學相關,用某用戶密鑰加密後的密文,只能使用該用戶的加密密鑰才能解密。
如果知道了其中一個,並不能計算出另外一個。因此如果公開了一對密鑰中的一個,並不會危害到另外一個密鑰性質。
這裏把公開的密鑰爲公鑰,不公開的密鑰爲私鑰。