OSS探訪GitHubでログイン

AES・ChaCha20・SHA・HMAC・KDFなど標準暗号primitiveをPure Swiftで扱う

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
10,580
主要言語
Swift
ライセンス
未判定
リポジトリ最終更新
2026/08/19
ページ内ナビ

概要

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も修正されています。

出典:[3][2][4]

参考にした公式資料

  1. [1]krzyzanowskim/CryptoSwift — GitHub repository(2026-10-06)
  2. [2]CryptoSwift 1.10.0 — README(2026-10-06)
  3. [3]CryptoSwift 1.10.0 — Package.swift(2026-10-06)
  4. [4]CryptoSwift 1.10.0 release(2026-10-06)
  5. [5]CryptoSwift license(2026-10-06)
編集部からの補足

cross-platform Swiftや特定algorithm互換が必要な場合に向きます。新規設計ではREADMEの推奨どおりAEADと現行hashを優先し、performanceはRelease buildでも確認してください。

3ステップで試す

  1. 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. 2

    CryptoSwift productをtargetへ追加する

    暗号処理を行うtargetへCryptoSwift productをlinkします。

    .product(name: "CryptoSwift", package: "CryptoSwift")
  3. 3

    SHA-256 digestを計算する

    Data helperを使ってSHA-256 digestを計算し、hex文字列へ変換します。

    import CryptoSwift let digest = Data("hello".utf8).sha256() print(digest.toHexString())
公式READMEで確認

成長

成長の推移 · 直近30日

10,580 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
4

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • swift
  • aes
  • cryptography
  • commoncrypto
  • cryptoswift
  • md5
  • sha1
  • hmac-authentication
  • sha3
  • cipher
  • digest
  • aes-gcm
Stars
10,580
Forks
1,808
Watchers
184
Open Issues
0
Contributors
117
所有者種別
User
主要言語
Swift
ライセンス
未判定
リポジトリ最終更新
2026/08/19

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?