{"id":25448094,"url":"https://github.com/splendent/swiftaescryptor","last_synced_at":"2026-03-27T02:12:28.431Z","repository":{"id":277331592,"uuid":"932086355","full_name":"Splendent/SwiftAESCryptor","owner":"Splendent","description":"SwiftAESCryptor is a Swift utility for AES encryption/decryption, supporting data, UTF‑8, and Base64 formats with configurable options and robust error handling.","archived":false,"fork":false,"pushed_at":"2025-05-15T03:44:20.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T17:10:07.076Z","etag":null,"topics":["aes-encryption","swift","swift-package-manager"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Splendent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-13T10:43:56.000Z","updated_at":"2025-05-15T03:44:24.000Z","dependencies_parsed_at":"2025-05-16T07:19:32.526Z","dependency_job_id":null,"html_url":"https://github.com/Splendent/SwiftAESCryptor","commit_stats":null,"previous_names":["splendent/swiftaescryptor"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Splendent/SwiftAESCryptor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splendent%2FSwiftAESCryptor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splendent%2FSwiftAESCryptor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splendent%2FSwiftAESCryptor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splendent%2FSwiftAESCryptor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Splendent","download_url":"https://codeload.github.com/Splendent/SwiftAESCryptor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Splendent%2FSwiftAESCryptor/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265155816,"owners_count":23719592,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes-encryption","swift","swift-package-manager"],"created_at":"2025-02-17T19:18:47.853Z","updated_at":"2026-03-27T02:12:28.396Z","avatar_url":"https://github.com/Splendent.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SwiftAESCryptor\n\n## Overview\nSwiftAESCryptor is a Swift utility for AES encryption and decryption. It supports:\n- Data, UTF-8 string, and Base64-encoded string transformations\n- Configurable PKCS7 padding or no padding\n- CBC (default) or ECB modes\n- Key sizes: 128, 192, 256 bits\n- Comprehensive error handling via the `AESError` enum\n\n## Features\n- Data-based API:\n  - `encrypt(dataToEncrypt:keyData:ivData:usePKCS7Padding:useECB:keySize:)`\n  - `decrypt(encryptedData:keyData:ivData:usePKCS7Padding:useECB:keySize:)`\n- String-based API:\n  - `encrypt(plainText:keyString:ivString:usePKCS7Padding:useECB:keySize:)` → `Data`\n  - `encryptToBase64String(plainText:keyString:ivString:usePKCS7Padding:useECB:keySize:)` → `String`\n  - `decryptToUtf8String(encryptedData:keyString:ivString:usePKCS7Padding:useECB:keySize:)` → `String`\n  - `decryptToUtf8String(base64String:keyString:ivString:usePKCS7Padding:useECB:keySize:)` → `String`\n\n## Installation\n\n### Swift Package Manager\n```swift\n// in your Package.swift\ndependencies: [\n  .package(url: \"https://github.com/Splenden/SwiftAESCryptor.git\", .upToNextMajor(from: \"0.1.0\")),\n],\ntargets: [\n  .target(\n    name: \"YourTargetName\",\n    dependencies: [\"SwiftAESCryptor\"]\n  ),\n]\n```\n\n## Usage\n\n### Encrypt \u0026 Decrypt Data\n```swift\nimport SwiftAESCryptor\n\nlet key = Data(\"1234567890abcdef\".utf8)\nlet iv = Data(\"fedcba0987654321\".utf8)\nlet plaintext = Data(\"Hello, AES!\".utf8)\n\ndo {\n    let encrypted = try SwiftAESCryptor.encrypt(dataToEncrypt: plaintext,\n                                               keyData: key,\n                                               ivData: iv)\n    let decrypted = try SwiftAESCryptor.decrypt(encryptedData: encrypted,\n                                               keyData: key,\n                                               ivData: iv)\n    print(String(decoding: decrypted, as: UTF8.self)) // \"Hello, AES!\"\n} catch {\n    print(\"AES Error: \\(error)\")\n}\n```\n\n### String \u0026 Base64 API\n```swift\nlet base64 = try SwiftAESCryptor.encryptToBase64String(plainText: \"Secret\",\n                                                       keyString: \"1234567890abcdef\")\nlet decrypted = try SwiftAESCryptor.decryptToUtf8String(base64String: base64,\n                                                        keyString: \"1234567890abcdef\")\nprint(decrypted) // \"Secret\"\n```\n\n## Running Tests\nRun the test suite:\n```bash\nswift test\n```\n\n## License\nThis project is licensed under the MIT License. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplendent%2Fswiftaescryptor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsplendent%2Fswiftaescryptor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplendent%2Fswiftaescryptor/lists"}