BMHCrypto


BMHCrypto

BMHCrypto 是一个基于 CryptoKit 构建的纯 Swift 包,添加了有用的扩展并且可以随时使用。

为什么?

简化诸如哈希、加密/解密等密码操作的使用。纯 Swift 编写,我不会重新发明轮子,这个包将始终基于 CryptoKit 或 Apple 发布的任何内容。

📋 要求

📲 安装

Swift Package Manager

Xcode 项目

Swift Package Manager 已内置于新版本的 Xcode 中。要使用 SPM 安装 BMHCrypto,请执行以下操作:

https://github.com/muhasturk/BMHCrypto.git

作为依赖项

你可以使用 Swift Package Manager 来安装 BMHCrypto,方法是将正确的描述添加到你的 Package.swift 文件中

import PackageDescription

let package = Package(
    name: "YOUR_PROJECT_NAME",
    targets: [],
    dependencies: [
        .package(url: "https://github.com/muhasturk/BMHCrypto.git", from: "0.1.0")
    ]
)

接下来,将 BMHCrypto 添加到你的 targets 依赖项,如下所示

.target(
    name: "YOUR_TARGET_NAME",
    dependencies: [
        "BMHCrypto",
    ]
),

然后运行 swift package update

🎁 特性

🔥 使用

不要忘记导入

import BMHCrypto

哈希

// Anything That Conforms DataProtocol
let plainText = "BMH"
// Returns String Representation
plainText.md5
plainText.sha1
plainText.sha256
plainText.sha384
plainText.sha512

密码

// Share Same Key
let key = SymmetricKey(size: .bits256) 

// Plain Data Could Be Anything
let data = Data()

// Encrypt
let encrypted = data.encryptChaChaPoly(with: key)

// Decrypt
let decrypted = encrypted.decryptChaChaPoly(with: key)
// Share Same Key
let key = SymmetricKey(size: .bits256) 

// Plain Data Could Be Anything
let data = Data()

// Encrypt
let encrypted = data.encryptAES(with: key)

// Decrypt
let decrypted = encrypted?.decryptAES(with: key)

共享密钥

let key = SymmetricKey(size: .bits256) 

// Shareable String Key
let savedKey = key.base64EncodedString

// Ready to Use SymmetricKey
let convertedKey = savedKey.asSymmetricKey

👨🏻‍💻 作者

Mustafa Hasturk 📧 mustafa[at]hasturk.dev

❤️ 贡献

欢迎提交 Bug 报告和 Pull Request。

👮🏻‍♂️ 许可

BMHCrypto 在 MIT 许可下发布。 有关更多信息,请参阅 LICENSE