swift-blake2

一个纯 Swift 实现的 BLAKE2。

RFC 7693:BLAKE2 密码学哈希和消息认证码 (MAC)

如果您不想向您的项目添加另一个依赖项,您可以复制文件 BLAKE2b.swift (请勿删除许可证头!)。

用法

您可以使用静态 hash(data:key:digestLength:salt:) 方法一步计算摘要。

let digest = try BLAKE2b.hash(data: "hello, world!".data(using: .utf8)!)

如果您想计算大量数据的摘要,您可以初始化一个 BLAKE2b 实例,并根据需要多次调用 update(data:)。要完成并返回摘要,请调用 finalize()

var hasher = try BLAKE2b()
hasher.update(data: "hello, ".data(using: .utf8)!)
hasher.update(data: "world!".data(using: .utf8)!)
let digest = hasher.finalize()