用途:指导在 Swift 6.3+ 项目中用 Apple CryptoKit 实现密码学原语,替代 CommonCrypto 或裸 Security 框架 API。
主要能力:哈希(SHA256/384/512,SHA3 需 iOS 26+,支持一次性与增量);HMAC 计算与 isValidAuthenticationCode 校验;对称加密 AES-GCM 与 ChaChaPoly,支持附加认证数据 AAD;公钥签名 P256/P384/P521 的 ECDSA 与 Curve25519 的 Ed25519;ECDH 密钥协商并用 HKDF 或 X9.63 派生对称密钥;HPKE(iOS 17+);后量子 API(iOS 26+,MLKEM768/1024、MLDSA65/87、混合 XWing);Secure Enclave 硬件密钥存储与 P256 签名/协商。
使用方式:import CryptoKit 后按需调用,如 SHA256.hash(data:)、AES.GCM.seal/open、P256.Signing.PrivateKey().signature(for:)、sharedSecretFromKeyAgreement 配合 hkdfDerivedSymmetricKey。Secure Enclave 使用前先 guard SecureEnclave.isAvailable,密钥 dataRepresentation 存入 Keychain。
限制与注意:SHA-3、后量子与 Secure Enclave 后量子类型需 iOS 26+,HPKE 需 iOS 17+,应做可用性检查;不要直接使用 SharedSecret,须经 HKDF 派生;不要硬编码或复用 nonce;不要用 MD5/SHA1 做安全用途;对称密钥不要存 UserDefaults;需考虑加密出口合规。资料未提供具体收费、价格或平台信息。