BMHCrypto 是一个基于 CryptoKit 构建的纯 Swift 包,添加了有用的扩展并且可以随时使用。
简化诸如哈希、加密/解密等密码操作的使用。纯 Swift 编写,我不会重新发明轮子,这个包将始终基于 CryptoKit 或 Apple 发布的任何内容。
Swift Package Manager 已内置于新版本的 Xcode 中。要使用 SPM 安装 BMHCrypto
,请执行以下操作:
在 Xcode 中打开你的项目
点击“File” -> “Swift Packages” -> “Add Package Dependency…”
粘贴以下 URL
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。