-
對稱加密算法-PBE查看全部
-
對稱加密算法-AES使用場景查看全部
-
對稱加密算法-AES查看全部
-
對稱加密算法-AES查看全部
-
對稱加密算法-3DES查看全部
-
對稱加密算法-DES查看全部
-
對稱加密算法查看全部
-
對稱加密算法-PBE查看全部
-
對稱加密算法-AES查看全部
-
對稱加密算法-DES查看全部
-
對稱加密算法3DES查看全部
-
pbe流程查看全部
-
DES代碼查看全部
-
對稱加密算法回顧:<br> 1:DES是最基本的算法,出身比較好美國軍方通過IBM來實現的<br> 2:3DES由于DES有漏洞不安全,所以,產生了3DES,應用更加的廣泛,不過效率不高,所以才有了后來的AES<br> 3:AES是應用更加廣泛的一種對稱加密算法,安全性更高<br> 4:PBE本質是其他對稱加密算法一種綜合,加入了鹽(隨機字符串)防止密碼的暴力破解 注意:實際的加密解密不是在一起的,通常是將秘要發送給解密的那一方來實現的,或者實現約定好了的查看全部
-
public static void jdkPBE() { try { SecureRandom random = new SecureRandom(); byte[] salt = random.generateSeed(8); // 加 密 口令與密鑰 String password = "imooc"; PBEKeySpec pbeKeySpec = new PBEKeySpec(password.toCharArray()); SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWITHMD5andDES"); Key key = factory.generateSecret(pbeKeySpec); PBEParameterSpec pbeParameterSpec = new PBEParameterSpec(salt,100); Cipher cipher = Cipher.getInstance("PBEWITHMD5andDES"); cipher.init(Cipher.ENCRYPT_MODE, key, pbeParameterSpec); byte[] result = cipher.doFinal(src.getBytes()); System.out.println("jdk PBE encrypt: " + Base64.encodeBase64String(result)); //解密 //初始化 cipher.init(Cipher.DECRYPT_MODE, key,pbeParameterSpec); result = cipher.doFinal(result); System.out.println("jdk PBE decrypt: " + new String(result)); } catch (Exception e) { e.printStackTrace(); } }查看全部
舉報
0/150
提交
取消