mateamt/src/Util/Crypto.hs
2022-04-17 13:47:46 +02:00

15 lines
432 B
Haskell

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