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