Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.8 kB · 69 lines
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970diff --git a/Crypto/KDF/Argon2.hs b/Crypto/KDF/Argon2.hsindex 044ba00..31dc6f1 100644--- a/Crypto/KDF/Argon2.hs+++ b/Crypto/KDF/Argon2.hs@@ -12,6 +12,7 @@ -- File started from Argon2.hs, from Oliver Charles -- at https://github.com/ocharles/argon2 --+{-# LANGUAGE DataKinds #-} module Crypto.KDF.Argon2 ( Options(..)@@ -32,6 +33,7 @@ import Control.Monad (when) import Data.Word import Foreign.C import Foreign.Ptr+import Data.Proxy -- | Which variant of Argon2 to use. You should choose the variant that is most -- applicable to your intention to hash inputs.@@ -100,33 +102,12 @@ defaultOptions = } hash :: (ByteArrayAccess password, ByteArrayAccess salt, ByteArray out)- => Options+ => [Proxy "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360"] -> password -> salt -> Int -> CryptoFailable out-hash options password salt outLen- | saltLen < saltMinLength = CryptoFailed CryptoError_SaltTooSmall- | outLen < outputMinLength = CryptoFailed CryptoError_OutputLengthTooSmall- | outLen > outputMaxLength = CryptoFailed CryptoError_OutputLengthTooBig- | otherwise = CryptoPassed $ B.allocAndFreeze outLen $ \out -> do- res <- B.withByteArray password $ \pPass ->- B.withByteArray salt $ \pSalt ->- argon2_hash (iterations options)- (memory options)- (parallelism options)- pPass- (csizeOfInt passwordLen)- pSalt- (csizeOfInt saltLen)- out- (csizeOfInt outLen)- (cOfVariant $ variant options)- (cOfVersion $ version options)- when (res /= 0) $ error "argon2: hash: internal error"- where- saltLen = B.length salt- passwordLen = B.length password+hash options password salt outLen = error "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360" data Pass data Saltdiff --git a/tests/KAT_Argon2.hs b/tests/KAT_Argon2.hsindex a347fc5..fdba079 100644--- a/tests/KAT_Argon2.hs+++ b/tests/KAT_Argon2.hs@@ -32,7 +32,7 @@ kdfTests = zipWith toKDFTest is vectors where toKDFTest i v = testCase (show i)- (CryptoPassed (kdfResult v) @=? Argon2.hash (kdfOptions v) (kdfPass v) (kdfSalt v) (B.length $ kdfResult v))+ (pure ()) is :: [Int] is = [1..]