diff --git a/mateamt.cabal b/mateamt.cabal index 6794e4e..36ea931 100644 --- a/mateamt.cabal +++ b/mateamt.cabal @@ -36,7 +36,7 @@ library API Classes Util - Util.Random + Util.Crypto Model.Product Model.Auth Model.User diff --git a/src/Util/Crypto.hs b/src/Util/Crypto.hs new file mode 100644 index 0000000..02627ff --- /dev/null +++ b/src/Util/Crypto.hs @@ -0,0 +1,14 @@ +module Util.Crypto where + +import Crypto.KDF.Argon2 +import Crypto.Error (CryptoFailable) + +import qualified Data.ByteString as BS + +import System.Random.Stateful (uniformByteStringM, newIOGenM, mkStdGen) + +randomString :: IO BS.ByteString +randomString = uniformByteStringM 32 =<< newIOGenM (mkStdGen 23) + +argon2 :: BS.ByteString -> BS.ByteString -> CryptoFailable BS.ByteString +argon2 salt payload = hash defaultOptions payload salt 64 diff --git a/src/Util/Random.hs b/src/Util/Random.hs deleted file mode 100644 index daf63e7..0000000 --- a/src/Util/Random.hs +++ /dev/null @@ -1,8 +0,0 @@ -module Util.Random where - -import qualified Data.ByteString as BS - -import System.Random.Stateful (uniformByteStringM, newIOGenM, mkStdGen) - -randomString :: IO BS.ByteString -randomString = uniformByteStringM 32 =<< newIOGenM (mkStdGen 23)