Provides Advanced Encryption Standard (AES)
capabilities.
CCCrypt
(via import CommonCrypto
).Cipher Block Chaining (CBC)
mode with random Initialization Vector (IV)
.key size
. This is by design.kCCOptionPKCS7Padding
as CCOptions
by default.(More on the topic from WWDC 2019: Adopting Swift Packages in Xcode and Creating Swift Packages.)
In your Package.swift
, add AESCryptable
as a dependency:
dependencies: [
// 🔐 AES encryption/decryption with random iv. Swift 5 and up.
.package(url: "https://github.com/backslash-f/aescryptable", from: "1.0.0")
],
Associate the dependency with your target:
targets: [
.target(name: "App", dependencies: ["AESCryptable"])
]
Run: swift build
import AESCryptable
do {
// encrypt
let aes = try AES(keyString: "01234567890123456789012345678901")
let encryptedData = try aes.encrypt("The black knight always triumphs!")
// decrypt
let decryptedString = try aes.decrypt(encryptedData)
print(decryptedString) // The black knight always triumphs!
} catch {
print(error)
}
(Refer to the test class for a high-level overview.)
Clone the repo and use AESCryptable.playground
to see the code in action:
link |
Stars: 30 |
Last commit: 1 week ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics