電子商務/政務普及,網路傳輸安全需求劇增。IP 協議本身無安全特性,易遭竄改、偽造、重播、攔截。加密是核心安全技術。DES 56 位金鑰已被暴力破解(1998 年 56 小時、1999 年 22 小時),安全性受嚴重威脅。IDEA(International Data Encryption Algorithm)採 128 位金鑰,抗暴力破解能力極強,被公認為極安全的分組對稱加密算法。
Provider 機制,支援多供應商互操作、軟硬體實現。設計原則:
Cipher),不依賴具體實現。預設 Sun Provider 提供基礎算法;第三方 Provider(如 Bouncy Castle)可擴展 IDEA 等算法。
bcprov-jdk14.jar)。java.security 註冊 Provider 或動態註冊:Security.addProvider(new BouncyCastleProvider())。Cipher cipher = Cipher.getInstance("IDEA/ECB/PKCS5Padding", "BC");
Key key = new SecretKeySpec(keyBytes, "IDEA");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] cipherText = cipher.doFinal(plainText);
Java 平台無關性使加密代碼可跨平台部署,極適合 Internet 應用開發。