ECC(Elliptic Curves Cryptography)是已知公鑰體制中每比特加密強度最高的體制,廣泛用於軟件註冊保護(序列號生成)。JDK 1.5+ 僅支持密鑰生成與解析,Cipher、Signature、KeyPairGenerator、KeyAgreement、SecretKey 均不支持 EC 算法。本文提供參考實現,以供學習。
繼承 Coder,核心字段:
ALGORITHM = "EC"ECFieldF2m、EllipticCurve、ECParameterSpec、基點 ECPoint、階 n、餘因子 hECKeyFactory、ECPublicKeyImpl、ECPrivateKeyImplinitKey() 返回含公私鑰的 Mapencrypt/decrypt 因 Cipher 不支持 EC,使用 NullCipher 佔位(TODO 標註)ECCCoderTest:初始化密鑰、輸出公私鑰 BASE64、加密「abc」→ 解密(實際走 NullCipher 直通)→ 斷言相等。控制台輸出公私鑰及「加密前: abc / 解密後: abc」。
上述代碼僅供參考,實際加解密邏輯未真正執行。生產環境請使用成熟庫(如 Bouncy Castle)或升級 JDK 版本獲取完整 EC 支持。