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