fix tests
This commit is contained in:
parent
6ba2a6b6b6
commit
244b0331ad
@ -26,6 +26,8 @@ import qualified Crypto.Hash.Skein256 as Skein256
|
||||
import qualified Crypto.Hash.Skein512 as Skein512
|
||||
import qualified Crypto.Hash.Whirlpool as Whirlpool
|
||||
|
||||
import Utils
|
||||
|
||||
import Test.Tasty
|
||||
import Test.Tasty.QuickCheck
|
||||
import Test.Tasty.HUnit
|
||||
@ -183,21 +185,6 @@ expected = [
|
||||
"28e361fe8c56e617caa56c28c7c36e5c13be552b77081be82b642f08bb7ef085b9a81910fe98269386b9aacfd2349076c9506126e198f6f6ad44c12017ca77b1" ])
|
||||
]
|
||||
|
||||
hexalise s = concatMap (\c -> [ hex $ c `div` 16, hex $ c `mod` 16 ]) s
|
||||
where hex i
|
||||
| i >= 0 && i <= 9 = fromIntegral (ord '0') + i
|
||||
| i >= 10 && i <= 15 = fromIntegral (ord 'a') + i - 10
|
||||
| otherwise = 0
|
||||
|
||||
splitB :: Int -> ByteString -> [ByteString]
|
||||
splitB l b =
|
||||
if B.length b > l
|
||||
then
|
||||
let (b1, b2) = B.splitAt l b in
|
||||
b1 : splitB l b2
|
||||
else
|
||||
[ b ]
|
||||
|
||||
showHash :: B.ByteString -> String
|
||||
showHash = map (toEnum.fromEnum) . hexalise . B.unpack
|
||||
|
||||
|
||||
@ -85,22 +85,22 @@ sha3_data1 = "\x77\x68\x61\x74\x20\x64\x6f\x20\x79\x61\x20\x77\x61\x6e\x74\x20\x
|
||||
|
||||
sha3_224_MAC_Vectors :: [MACVector SHA3_224]
|
||||
sha3_224_MAC_Vectors =
|
||||
[ MACVector sha3_key1 sha3_data1 $ digest "\xe8\x24\xfe\xc9\x6c\x07\x4f\x22\xf9\x92\x35\xbb\x94\x2d\xa1\x98\x26\x64\xab\x69\x2c\xa8\x50\x10\x53\xcb\xd4\x14"
|
||||
[ MACVector sha3_key1 sha3_data1 $ digest "\x7f\xdb\x8d\xd8\x8b\xd2\xf6\x0d\x1b\x79\x86\x34\xad\x38\x68\x11\xc2\xcf\xc8\x5b\xfa\xf5\xd5\x2b\xba\xce\x5e\x66"
|
||||
]
|
||||
|
||||
sha3_256_MAC_Vectors :: [MACVector SHA3_256]
|
||||
sha3_256_MAC_Vectors =
|
||||
[ MACVector sha3_key1 sha3_data1 $ digest "\xaa\x9a\xed\x44\x8c\x7a\xbc\x8b\x5e\x32\x6f\xfa\x6a\x01\xcd\xed\xf7\xb4\xb8\x31\x88\x14\x68\xc0\x44\xba\x8d\xd4\x56\x63\x69\xa1"
|
||||
[ MACVector sha3_key1 sha3_data1 $ digest "\xc7\xd4\x07\x2e\x78\x88\x77\xae\x35\x96\xbb\xb0\xda\x73\xb8\x87\xc9\x17\x1f\x93\x09\x5b\x29\x4a\xe8\x57\xfb\xe2\x64\x5e\x1b\xa5"
|
||||
]
|
||||
|
||||
sha3_384_MAC_Vectors :: [MACVector SHA3_384]
|
||||
sha3_384_MAC_Vectors =
|
||||
[ MACVector sha3_key1 sha3_data1 $ digest "\x5a\xf5\xc9\xa7\x7a\x23\xa6\xa9\x3d\x80\x64\x9e\x56\x2a\xb7\x7f\x4f\x35\x52\xe3\xc5\xca\xff\xd9\x3b\xdf\x8b\x3c\xfc\x69\x20\xe3\x02\x3f\xc2\x67\x75\xd9\xdf\x1f\x3c\x94\x61\x31\x46\xad\x2c\x9d"
|
||||
[ MACVector sha3_key1 sha3_data1 $ digest "\xf1\x10\x1f\x8c\xbf\x97\x66\xfd\x67\x64\xd2\xed\x61\x90\x3f\x21\xca\x9b\x18\xf5\x7c\xf3\xe1\xa2\x3c\xa1\x35\x08\xa9\x32\x43\xce\x48\xc0\x45\xdc\x00\x7f\x26\xa2\x1b\x3f\x5e\x0e\x9d\xf4\xc2\x0a"
|
||||
]
|
||||
|
||||
sha3_512_MAC_Vectors :: [MACVector SHA3_512]
|
||||
sha3_512_MAC_Vectors =
|
||||
[ MACVector sha3_key1 sha3_data1 $ digest "\xc2\x96\x2e\x5b\xbe\x12\x38\x00\x78\x52\xf7\x9d\x81\x4d\xbb\xec\xd4\x68\x2e\x6f\x09\x7d\x37\xa3\x63\x58\x7c\x03\xbf\xa2\xeb\x08\x59\xd8\xd9\xc7\x01\xe0\x4c\xec\xec\xfd\x3d\xd7\xbf\xd4\x38\xf2\x0b\x8b\x64\x8e\x01\xbf\x8c\x11\xd2\x68\x24\xb9\x6c\xeb\xbd\xcb"
|
||||
[ MACVector sha3_key1 sha3_data1 $ digest "\x5a\x4b\xfe\xab\x61\x66\x42\x7c\x7a\x36\x47\xb7\x47\x29\x2b\x83\x84\x53\x7c\xdb\x89\xaf\xb3\xbf\x56\x65\xe4\xc5\xe7\x09\x35\x0b\x28\x7b\xae\xc9\x21\xfd\x7c\xa0\xee\x7a\x0c\x31\xd0\x22\xa9\x5e\x1f\xc9\x2b\xa9\xd7\x7d\xf8\x83\x96\x02\x75\xbe\xb4\xe6\x20\x24"
|
||||
]
|
||||
|
||||
|
||||
|
||||
27
tests/Utils.hs
Normal file
27
tests/Utils.hs
Normal file
@ -0,0 +1,27 @@
|
||||
module Utils where
|
||||
|
||||
import Data.Char
|
||||
import Data.Bits
|
||||
import Data.Word
|
||||
import Data.ByteString (ByteString)
|
||||
import Data.Byteable
|
||||
import Data.Foldable (foldl')
|
||||
import Data.Monoid (mconcat)
|
||||
import qualified Data.ByteString as B
|
||||
|
||||
--hexalise :: String -> [Word8]
|
||||
hexalise s = concatMap (\c -> [ hex $ c `div` 16, hex $ c `mod` 16 ]) s
|
||||
where hex i
|
||||
| i >= 0 && i <= 9 = fromIntegral (ord '0') + i
|
||||
| i >= 10 && i <= 15 = fromIntegral (ord 'a') + i - 10
|
||||
| otherwise = 0
|
||||
|
||||
splitB :: Int -> ByteString -> [ByteString]
|
||||
splitB l b =
|
||||
if B.length b > l
|
||||
then
|
||||
let (b1, b2) = B.splitAt l b in
|
||||
b1 : splitB l b2
|
||||
else
|
||||
[ b ]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user