最近 Apple
官方推出了一个新的 Swift
库 Swift Crypto 。该库将 Apple
平台的 CryptoKit 库拓展到了其它平台(比如:Linux
),这样其它平台上也将可以使用加密相关的 API
了。
使用方法很简单,只需要导入对应库即可:
import Crypto
示例代码
func encrypt(input: [UInt8]) throws -> Data {
// Don't forget to save your key somewhere!
let key = SymmetricKey(size: .bits256)
let sealedBox = try AES.GCM.seal(input, using: key)
return sealedBox.combined!
}
跨平台
Apple
平台上,Swift Crypto
直接使用已有的 CryptoKit
库,但其它平台上将基于 BoringSSL
库重新实现,最终将在所有平台上提供一套统一且方便使用的 API
。