lib/salty/hash.ex
defmodule Salty.Hash do
defmacro __using__(_opts) do
quote do
@behaviour Salty.Multipart.Spec
@behaviour Salty.Hash
alias Salty.Nif, as: C
end
end
def primitive do
Salty.Hash.Sha512
end
@callback bytes() :: non_neg_integer()
@callback hash(binary()) :: {:ok, binary()} | {:error, atom()}
@callback verify(binary(), binary()) :: :ok | {:error, atom()}
@callback init() :: {:ok, binary()} | {:error, atom()}
end