ページ内ナビ
概要
CryptoSwiftはPure Swiftで実装された暗号primitiveとutilityのcollectionです。AES、ChaCha20/XChaCha20、SHA2/SHA3、HMAC、PBKDF2、HKDF、Scrypt、RSAなどをSwift APIから利用でき、Apple platform・Linux・Androidを対象にしています。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
hash・MAC・cipher・KDFをSwift APIから選択する
SHA-256/SHA-512/SHA-3、HMAC、AES、ChaCha20、PBKDF2、HKDF、ScryptなどをString、Data、[UInt8]向けhelperやstreaming APIから利用できます。
出典:[2]
新規設計ではAEADと現行hashを優先するrecommended defaultsを持つ
READMEは新規protocolでAES-GCM、AES-CCM、ChaCha20-Poly1305等のAEADを優先し、MD5/SHA-1やECBなどをlegacy interoperability用途として扱う方針を示しています。
出典:[2]
向いている用途
Apple APIだけでは足りないalgorithmやcross-platform Swift cryptoが必要な場合に向く
protocol互換、cross-platform library、特定KDFやcipherなど、CryptoKit/CommonCryptoだけでは要件を満たしにくいSwift codeで暗号primitiveを統一したい場合に適します。
出典:[2]
導入前の確認
1.10.0はSwift 5.6+・iOS 11+で、crypto-heavy処理はRelease buildで性能確認する
Package.swiftはSwift tools 5.6、iOS 11、macOS 10.13、tvOS 11、watchOS 4等を宣言します。READMEはDebug buildが暗号処理で大幅に遅くなる場合があるためRelease buildでもprofileするよう案内しています。1.10.0ではXChaCha20-Poly1305 nonce metadataやScrypt/SecureBytes memory handlingも修正されています。
参考にした公式資料
- [1]krzyzanowskim/CryptoSwift — GitHub repository(2026-10-06)
- [2]CryptoSwift 1.10.0 — README(2026-10-06)
- [3]CryptoSwift 1.10.0 — Package.swift(2026-10-06)
- [4]CryptoSwift 1.10.0 release(2026-10-06)
- [5]CryptoSwift license(2026-10-06)
編集部からの補足
cross-platform Swiftや特定algorithm互換が必要な場合に向きます。新規設計ではREADMEの推奨どおりAEADと現行hashを優先し、performanceはRelease buildでも確認してください。
3ステップで試す
- 1
CryptoSwift 1.10.0をSwiftPMへ追加する
確認済みreleaseを固定します。current lineはSwift 5.6+、iOS 11+です。
.package(url: "https://github.com/krzyzanowskim/CryptoSwift.git", exact: "1.10.0") - 2
CryptoSwift productをtargetへ追加する
暗号処理を行うtargetへCryptoSwift productをlinkします。
.product(name: "CryptoSwift", package: "CryptoSwift") - 3
SHA-256 digestを計算する
Data helperを使ってSHA-256 digestを計算し、hex文字列へ変換します。
import CryptoSwift let digest = Data("hello".utf8).sha256() print(digest.toHexString())
成長
成長の推移 · 直近30日
10,580 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 4
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- SDWebImage25,612 Stars
共通タグ 3件 · 共通カテゴリ 1件
非同期downloadとmemory/disk cacheでUIKitのnetwork画像表示を管理する
Objective-C - CocoaLumberjack13,321 Stars
共通タグ 3件 · 共通カテゴリ 1件
console・os_log・rolling file・custom loggerへ同じDDLog APIから振り分けるApple向けlogging framework
Objective-C - Aegis Authenticator13,213 Stars
共通タグ 3件 · 共通カテゴリ 1件
2FA secretを暗号化vaultに閉じ込め、backupまで端末主導で管理する
Java - Swift Async Algorithms3,713 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
AsyncSequenceへmerge・combineLatest・debounce・throttleなど時間/順序algorithmを追加する
Swift - KeychainAccess8,253 Stars
共通タグ 4件 · 共通カテゴリ 2件 · 同じ言語
Apple Keychainへの保存・取得・accessibility・Face ID保護をSwift APIで扱う
Swift - Firebase Apple SDK6,926 Stars
共通タグ 4件
Auth・Firestore・Messaging・CrashlyticsなどFirebase servicesをApple appへ統合するSDK群
C++
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。