const Sha512 = @import("std").crypto.sha2.Sha512; pub const hash_len: comptime_int = Sha512.digest_length; pub const Implementation = struct { hash: *const fn (buffer: []const u8, out: []u8) void, }; fn hash(buffer: []const u8, out: []u8) !void { if (out.len < hash_len) { return error.BufferTooShort; } Sha512.hash(buffer, out, .{}); } pub const defaultImplementation: Implementation = .{ .hash = hash, };