Argon2Swift
对 Argon2 的参考 C 实现的 Swift 绑定,密码散列竞赛的获胜者。
安装 (CocoaPods)
您可以通过在 Podfile
中添加以下内容来使用 Cocoapods 安装 Argon2Swift:
pod Argon2Swift
安装 (SPM)
您可以通过在依赖中添加以下内容来使用 SPM (Swift Package Manager) 安装 Argon2Swift:
.package(url: "https://github.com/tmthecoder/Argon2Swift.git", .branch("main"))
使用说明
高级哈希和验证(对于直接对字节数组进行哈希和验证,请查看示例)
import Argon2Swift
// Create a password and a salt
let password = "password"
let s = Salt.newSalt()
//Hash with pre-set params (iterations: 32, memory: 256, parallelism: 2, length: 32, type: Argon2Type.i, version: Argon2Version.V13)
let result = try! Argon2Swift.hashPasswordString(password: password, salt: s)
//Raw hash values available as int list, base 64 string, and hex string
let hashData = result.hashData()
let base64Hash = result.base64String()
let hexHash = result.hexString()
//Encoded hash values available as int list and encoded string
let encodedData = result.encodedData()
let encodedString = result.encodedString()
//Verify password (returns true/false), uses default type (Argon2Type.i)
let verified = try! Argon2Swift.verifyHashString(password: password, hash: stringEncoded);
功能和错误
请在问题跟踪器中提交特性请求和错误。
许可协议
- Argon2Swift 根据MIT 许可协议授权。
- Argon2的C语言实现根据Apache 和 CC0 许可协议双重授权。