From bdcb1748302ce4306ba0a8ab74419425e099c477 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 26 Mar 2014 15:21:37 +0200 Subject: [PATCH] Remove pureMD5 and SHA deps --- yesod-auth/Yesod/Auth/Email.hs | 8 ++++++-- yesod-auth/yesod-auth.cabal | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/yesod-auth/Yesod/Auth/Email.hs b/yesod-auth/Yesod/Auth/Email.hs index 194ab670..217ea9e4 100644 --- a/yesod-auth/Yesod/Auth/Email.hs +++ b/yesod-auth/Yesod/Auth/Email.hs @@ -34,10 +34,13 @@ module Yesod.Auth.Email import Network.Mail.Mime (randomString) import Yesod.Auth import System.Random -import Data.Digest.Pure.MD5 import qualified Data.Text as TS +import qualified Data.Text as T import qualified Data.Text.Lazy as TL +import qualified Data.Text.Encoding as TE import qualified Data.Text.Lazy.Encoding as TLE +import qualified Crypto.Hash.MD5 as H +import Data.ByteString.Base16 as B16 import Data.Text.Encoding (encodeUtf8, decodeUtf8With) import Data.Text.Encoding.Error (lenientDecode) import Data.Text (Text) @@ -526,7 +529,8 @@ saltPass = fmap (decodeUtf8With lenientDecode) . encodeUtf8 saltPass' :: String -> String -> String -saltPass' salt pass = salt ++ show (md5 $ TLE.encodeUtf8 $ TL.pack $ salt ++ pass) +saltPass' salt pass = + salt ++ T.unpack (TE.decodeUtf8 $ B16.encode $ H.hash $ TE.encodeUtf8 $ T.pack $ salt ++ pass) isValidPass :: Text -- ^ cleartext password -> SaltedPass -- ^ salted password diff --git a/yesod-auth/yesod-auth.cabal b/yesod-auth/yesod-auth.cabal index 9f778566..d8020743 100644 --- a/yesod-auth/yesod-auth.cabal +++ b/yesod-auth/yesod-auth.cabal @@ -25,7 +25,8 @@ library , yesod-core >= 1.2 && < 1.3 , wai >= 1.4 , template-haskell - , pureMD5 >= 2.0 + , base16-bytestring + , cryptohash , random >= 1.0.0.2 , text >= 0.7 , mime-mail >= 0.3 @@ -39,7 +40,6 @@ library , transformers >= 0.2.2 , persistent >= 1.2 && < 1.4 , persistent-template >= 1.2 && < 1.4 - , SHA >= 1.4.1.3 , http-conduit >= 1.5 , aeson >= 0.5 , pwstore-fast >= 2.2