Argon2

一个 Swift 封装库,用于 Argon 2 哈希算法。 兼容 SPM。

此软件包包含 2 个库:Argon2CArgon2

Argon2 是一个 Swift 层,封装了用于哈希和验证字节数组的 C 函数。 它具有处理 String 和更多 Swift 风格配置的方法。 此库不提供对 C 接口的访问权限。

CArgon2 只是一个用 SPM 包裹的 C 库。 此库中没有 Swift 代码。

Swift API

错误

Argon2.Error 类型用于表示从底层哈希和验证函数返回的错误。 它有一个 code 属性,该属性是返回的错误的错误代码。 您可以在此处查看可能的错误列表。

函数的成功代码为 0,而所有错误均为负数。 如果返回正错误代码,则来自 Swift API,而不是 C 库。

为了方便提交 PR,您可以为与 C 库中的错误匹配的 Error 结构创建静态用例。

HashMode

HashMode 是一个枚举,其用例代表字节数组可以通过的可能的哈希过程。 有 idid。 这些用例具有关于其差异的文档注释。

还有两个属性。 method,它是该哈希模式的哈希函数,以及 verify,它是该模式的验证函数。

Context

这是一个结构体,用于保存哈希字节数组的配置信息。 原始 Argon 2 仓库没有找到关于这些值的任何文档,因此我为这些属性编写了一些非常模糊的 API 文档。

有一个 default 静态属性,可让您获取一个实例以传递给哈希器。 属性的值来自原始仓库 README 中的示例。

Argon2

仓库的主要类型 Argon2 没有任何公共初始化器或属性。 相反,它具有可以调用以哈希和验证字节数组或字符串的静态方法。

许可证

此仓库使用 CC0 1.0 Universal 许可证。