module Tezos.Crypto.Hash
( blake2b
, blake2b160
, sha256
, sha512
) where
import Crypto.Hash (Blake2b_160, Blake2b_256, Digest, SHA256, SHA512, hash)
import qualified Data.ByteArray as ByteArray
blake2b :: ByteString -> ByteString
blake2b :: ByteString -> ByteString
blake2b = Digest Blake2b_256 -> ByteString
forall a. Digest a -> ByteString
fromDigest @Blake2b_256 (Digest Blake2b_256 -> ByteString)
-> (ByteString -> Digest Blake2b_256) -> ByteString -> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Digest Blake2b_256
forall ba a.
(ByteArrayAccess ba, HashAlgorithm a) =>
ba -> Digest a
hash
blake2b160 :: ByteString -> ByteString
blake2b160 :: ByteString -> ByteString
blake2b160 = Digest Blake2b_160 -> ByteString
forall a. Digest a -> ByteString
fromDigest @Blake2b_160 (Digest Blake2b_160 -> ByteString)
-> (ByteString -> Digest Blake2b_160) -> ByteString -> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Digest Blake2b_160
forall ba a.
(ByteArrayAccess ba, HashAlgorithm a) =>
ba -> Digest a
hash
sha256 :: ByteString -> ByteString
sha256 :: ByteString -> ByteString
sha256 = Digest SHA256 -> ByteString
forall a. Digest a -> ByteString
fromDigest @SHA256 (Digest SHA256 -> ByteString)
-> (ByteString -> Digest SHA256) -> ByteString -> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Digest SHA256
forall ba a.
(ByteArrayAccess ba, HashAlgorithm a) =>
ba -> Digest a
hash
sha512 :: ByteString -> ByteString
sha512 :: ByteString -> ByteString
sha512 = Digest SHA512 -> ByteString
forall a. Digest a -> ByteString
fromDigest @SHA512 (Digest SHA512 -> ByteString)
-> (ByteString -> Digest SHA512) -> ByteString -> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Digest SHA512
forall ba a.
(ByteArrayAccess ba, HashAlgorithm a) =>
ba -> Digest a
hash
fromDigest :: forall a. Digest a -> ByteString
fromDigest :: Digest a -> ByteString
fromDigest = Digest a -> ByteString
forall bin bout.
(ByteArrayAccess bin, ByteArray bout) =>
bin -> bout
ByteArray.convert