Java加密的常用的加密算法類型有三種
1單向加密:也就是不可逆的加密,例如MD5,SHA,HMAC
2對稱加密:也就是加密方和解密方利用同一個秘鑰對數據進行加密和解密,例如DES,PBE等等
3非對稱加密:非對稱加密分為公鑰和秘鑰,二者是非對稱的,例如用私鑰加密的內容需要使用公鑰來解密,使用公鑰加密的內容需要用私鑰來解密,DSA,RSA...
而keyGenerator,KeyPairGenerator,SecretKeyFactory的三種使用方法剛好和這三種加密算法類型對上
keyGenerator:秘鑰生成器,也就是更具算法類型隨機生成一個秘鑰,例如HMAC,所以這個大部分用在非可逆的算法中
SecretKeyFactory:秘密秘鑰工廠,言外之意就是需要根據一個秘密(password)去生成一個秘鑰,例如DES,PBE,所以大部分使用在對稱加密中
KeyPairGenerator:秘鑰對生成器,也就是可以生成一對秘鑰,也就是公鑰和私鑰,所以大部分使用在非對稱加密中
