Skip to content

backslash-f/aescryptable

Repository files navigation

swift-version swift-package-manager platform ci-status license

AESCryptable πŸ”’

Provides Advanced Encryption Standard (AES) capabilities.

Integration

Xcode 11+

AESCryptable Xcode 11 SPM

(More on the topic from WWDC 2019: Adopting Swift Packages in Xcode and Creating Swift Packages.)

Via Package.swift

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

Usage

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.)

Demo

Clone the repo and use AESCryptable.playground to see the code in action:

AESCryptable Demo