Packages

A simple Cryptography Implementation in Elixir for the Ark Blockchain.

Current section

Files

Jump to
arkecosystem_crypto lib arkecosystem crypto utils message.ex
Raw

lib/arkecosystem/crypto/utils/message.ex

defmodule ArkEcosystem.Crypto.Utils.Message do
alias ArkEcosystem.Crypto.Identities.{PublicKey, PrivateKey}
@spec sign(String.t(), String.t()) :: Map.t()
def sign(message, passphrase) do
%{
:publickey => PublicKey.from_passphrase(passphrase),
:signature => PrivateKey.sign(message, passphrase),
:message => message
}
end
@spec verify(String.t(), String.t(), String.t()) :: Boolean.t()
def verify(message, signature, public_key) do
PublicKey.verify(message, signature, public_key)
end
def to_params(message, signature, public_key) do
%{
:message => message,
:signature => signature,
:publickey => public_key
}
end
def to_json(message, signature, public_key) do
to_params(message, signature, public_key)
|> Jason.encode!()
end
end