一个纯 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()