using ByteArray(Access) instead of ByteString.
This commit is contained in:
parent
39ecb3597a
commit
3a2eb3c631
@ -15,8 +15,8 @@ module Crypto.KDF.HKDF
|
|||||||
, extract
|
, extract
|
||||||
, extractSkip
|
, extractSkip
|
||||||
, expand
|
, expand
|
||||||
, toByteString
|
, fromPRK
|
||||||
, fromByteString
|
, toPRK
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Data.Word
|
import Data.Word
|
||||||
@ -24,18 +24,17 @@ import Crypto.Hash
|
|||||||
import Crypto.MAC.HMAC
|
import Crypto.MAC.HMAC
|
||||||
import Crypto.Internal.ByteArray (ScrubbedBytes, ByteArray, ByteArrayAccess)
|
import Crypto.Internal.ByteArray (ScrubbedBytes, ByteArray, ByteArrayAccess)
|
||||||
import qualified Crypto.Internal.ByteArray as B
|
import qualified Crypto.Internal.ByteArray as B
|
||||||
import qualified Data.ByteString as BS
|
|
||||||
|
|
||||||
-- | Pseudo Random Key
|
-- | Pseudo Random Key
|
||||||
data PRK a = PRK (HMAC a) | PRK_NoExpand ScrubbedBytes
|
data PRK a = PRK (HMAC a) | PRK_NoExpand ScrubbedBytes
|
||||||
deriving (Eq)
|
deriving (Eq)
|
||||||
|
|
||||||
toByteString :: PRK a -> BS.ByteString
|
fromPRK :: ByteArray b => PRK a -> b
|
||||||
toByteString (PRK hm) = B.convert hm
|
fromPRK (PRK hm) = B.convert hm
|
||||||
toByteString (PRK_NoExpand sb) = B.convert sb
|
fromPRK (PRK_NoExpand sb) = B.convert sb
|
||||||
|
|
||||||
fromByteString :: BS.ByteString -> PRK a
|
toPRK :: ByteArrayAccess b => b -> PRK a
|
||||||
fromByteString = extractSkip
|
toPRK = extractSkip
|
||||||
|
|
||||||
-- | Extract a Pseudo Random Key using the parameter and the underlaying hash mechanism
|
-- | Extract a Pseudo Random Key using the parameter and the underlaying hash mechanism
|
||||||
extract :: (HashAlgorithm a, ByteArrayAccess salt, ByteArrayAccess ikm)
|
extract :: (HashAlgorithm a, ByteArrayAccess salt, ByteArrayAccess ikm)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user