summaryrefslogtreecommitdiff
path: root/Crypto.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-04-26 11:24:23 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-04-26 11:24:23 -0400
commit27774bdd56e05dabf98deeb09b78433fd374465c (patch)
tree12732a5e26240df0817a4c465c3171d0236d2c82 /Crypto.hs
parentebd6ea1abb80c617f2bf1b693a54ec8b653db623 (diff)
Revert "Use haskell Crypto library instead of haskell SHA library.a"
This reverts commit 892593c5efacbc084d19af4b5d7164ededaea7ff. Conflicts: Crypto.hs debian/control
Diffstat (limited to 'Crypto.hs')
-rw-r--r--Crypto.hs20
1 files changed, 6 insertions, 14 deletions
diff --git a/Crypto.hs b/Crypto.hs
index 4d6e38bac..20b999f65 100644
--- a/Crypto.hs
+++ b/Crypto.hs
@@ -29,21 +29,20 @@ module Crypto (
import qualified Data.ByteString.Lazy.Char8 as L
import qualified Data.Map as M
import qualified Codec.Binary.Base64 as B64
+import Data.ByteString.Lazy.UTF8 (fromString)
+import Data.Digest.Pure.SHA
+import System.Cmd.Utils
import Data.String.Utils
import Data.List
import Data.Bits.Utils
-import Data.HMAC
-import Data.Array
-import Codec.Utils
-import System.Cmd.Utils
import System.IO
import System.Posix.IO
import System.Posix.Types
import System.Posix.Process
-import System.Exit
-import System.Environment
import Control.Concurrent
import Control.Exception (finally)
+import System.Exit
+import System.Environment
import Types
import Key
@@ -253,17 +252,10 @@ fromB64 s =
case B64.decode s of
Nothing -> error "bad base64 encoded data"
Just ws -> w82s ws
-
-showOctets :: [Octet] -> String
-showOctets = concat . map hexChars
- where
- hexChars c = [arr ! (c `div` 16), arr ! (c `mod` 16)]
- arr = listArray (0, 15) "0123456789abcdef"
-
hmacWithCipher :: Cipher -> String -> String
hmacWithCipher c = hmacWithCipher' (cipherHmac c)
hmacWithCipher' :: String -> String -> String
-hmacWithCipher' c s = showOctets $ hmac_sha1 (s2w8 c) (s2w8 s)
+hmacWithCipher' c s = showDigest $ hmacSha1 (fromString c) (fromString s)
{- Ensure that hmacWithCipher' returns the same thing forevermore. -}
prop_hmacWithCipher_sane :: Bool