Added backends for the BLAKE2 family of hashes.
There are a lot of different variants and sizes, I suppose we might as well export all the common ones. Bump dep to cryptonite to 0.16, earlier versions lacked BLAKE2 support. Even android has 0.16 or newer. On Debian, Blake2bp_512 is buggy, so I have omitted it for now. http://bugs.debian.org/892855 This commit was sponsored by andrea rota.
This commit is contained in:
parent
4d8687062f
commit
050ada746f
7 changed files with 178 additions and 29 deletions
|
@ -12,6 +12,16 @@ module Utility.Hash (
|
|||
sha3_512,
|
||||
skein256,
|
||||
skein512,
|
||||
blake2s_160,
|
||||
blake2s_224,
|
||||
blake2s_256,
|
||||
blake2sp_224,
|
||||
blake2sp_256,
|
||||
blake2b_160,
|
||||
blake2b_224,
|
||||
blake2b_256,
|
||||
blake2b_384,
|
||||
blake2b_512,
|
||||
md5,
|
||||
prop_hashes_stable,
|
||||
Mac(..),
|
||||
|
@ -59,6 +69,40 @@ skein256 = hashlazy
|
|||
skein512 :: L.ByteString -> Digest Skein512_512
|
||||
skein512 = hashlazy
|
||||
|
||||
blake2s_160 :: L.ByteString -> Digest Blake2s_160
|
||||
blake2s_160 = hashlazy
|
||||
|
||||
blake2s_224 :: L.ByteString -> Digest Blake2s_224
|
||||
blake2s_224 = hashlazy
|
||||
|
||||
blake2s_256 :: L.ByteString -> Digest Blake2s_256
|
||||
blake2s_256 = hashlazy
|
||||
|
||||
blake2sp_224 :: L.ByteString -> Digest Blake2sp_224
|
||||
blake2sp_224 = hashlazy
|
||||
|
||||
blake2sp_256 :: L.ByteString -> Digest Blake2sp_256
|
||||
blake2sp_256 = hashlazy
|
||||
|
||||
blake2b_160 :: L.ByteString -> Digest Blake2b_160
|
||||
blake2b_160 = hashlazy
|
||||
|
||||
blake2b_224 :: L.ByteString -> Digest Blake2b_224
|
||||
blake2b_224 = hashlazy
|
||||
|
||||
blake2b_256 :: L.ByteString -> Digest Blake2b_256
|
||||
blake2b_256 = hashlazy
|
||||
|
||||
blake2b_384 :: L.ByteString -> Digest Blake2b_384
|
||||
blake2b_384 = hashlazy
|
||||
|
||||
blake2b_512 :: L.ByteString -> Digest Blake2b_512
|
||||
blake2b_512 = hashlazy
|
||||
|
||||
-- Disabled because it's buggy with some versions of cryptonite.
|
||||
--blake2bp_512 :: L.ByteString -> Digest Blake2bp_512
|
||||
--blake2bp_512 = hashlazy
|
||||
|
||||
md5 :: L.ByteString -> Digest MD5
|
||||
md5 = hashlazy
|
||||
|
||||
|
@ -76,6 +120,17 @@ prop_hashes_stable = all (\(hasher, result) -> hasher foo == result)
|
|||
, (show . sha3_256, "76d3bc41c9f588f7fcd0d5bf4718f8f84b1c41b20882703100b9eb9413807c01")
|
||||
, (show . sha3_384, "665551928d13b7d84ee02734502b018d896a0fb87eed5adb4c87ba91bbd6489410e11b0fbcc06ed7d0ebad559e5d3bb5")
|
||||
, (show . sha3_512, "4bca2b137edc580fe50a88983ef860ebaca36c857b1f492839d6d7392452a63c82cbebc68e3b70a2a1480b4bb5d437a7cba6ecf9d89f9ff3ccd14cd6146ea7e7")
|
||||
, (show . blake2s_160, "52fb63154f958a5c56864597273ea759e52c6f00")
|
||||
, (show . blake2s_224, "9466668503ac415d87b8e1dfd7f348ab273ac1d5e4f774fced5fdb55")
|
||||
, (show . blake2s_256, "08d6cad88075de8f192db097573d0e829411cd91eb6ec65e8fc16c017edfdb74")
|
||||
, (show . blake2sp_224, "8492d356fbac99f046f55e114301f7596649cb590e5b083d1a19dcdb")
|
||||
, (show . blake2sp_256, "050dc5786037ea72cb9ed9d0324afcab03c97ec02e8c47368fc5dfb4cf49d8c9")
|
||||
, (show . blake2b_160, "983ceba2afea8694cc933336b27b907f90c53a88")
|
||||
, (show . blake2b_224, "853986b3fe231d795261b4fb530e1a9188db41e460ec4ca59aafef78")
|
||||
, (show . blake2b_256, "b8fe9f7f6255a6fa08f668ab632a8d081ad87983c77cd274e48ce450f0b349fd")
|
||||
, (show . blake2b_384, "e629ee880953d32c8877e479e3b4cb0a4c9d5805e2b34c675b5a5863c4ad7d64bb2a9b8257fac9d82d289b3d39eb9cc2")
|
||||
, (show . blake2b_512, "ca002330e69d3e6b84a46a56a6533fd79d51d97a3bb7cad6c2ff43b354185d6dc1e723fb3db4ae0737e120378424c714bb982d9dc5bbd7a0ab318240ddd18f8d")
|
||||
--, (show . blake2bp_512, "")
|
||||
, (show . md5, "acbd18db4cc2f85cedef654fccc4a4d8")
|
||||
]
|
||||
where
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue