From 351caa4b9109a3d307557b539427869abefbf815 Mon Sep 17 00:00:00 2001 From: Shawn Smith Date: Sun, 29 Dec 2013 20:56:05 +1100 Subject: [PATCH] crypto/hmac: add tests for Size() and BlockSize() R=golang-codereviews, dave CC=golang-codereviews https://golang.org/cl/41320044 --- src/pkg/crypto/hmac/hmac_test.go | 66 ++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 4 deletions(-) diff --git a/src/pkg/crypto/hmac/hmac_test.go b/src/pkg/crypto/hmac/hmac_test.go index d4860424eb..e80b7e0baa 100644 --- a/src/pkg/crypto/hmac/hmac_test.go +++ b/src/pkg/crypto/hmac/hmac_test.go @@ -15,10 +15,12 @@ import ( ) type hmacTest struct { - hash func() hash.Hash - key []byte - in []byte - out string + hash func() hash.Hash + key []byte + in []byte + out string + size int + blocksize int } var hmacTests = []hmacTest{ @@ -38,6 +40,8 @@ var hmacTests = []hmacTest{ }, []byte("Sample #1"), "4f4ca3d5d68ba7cc0a1208c9c61e9c5da0403c0a", + sha1.Size, + sha1.BlockSize, }, { sha1.New, @@ -48,6 +52,8 @@ var hmacTests = []hmacTest{ }, []byte("Sample #2"), "0922d3405faa3d194f82a45830737d5cc6c75d24", + sha1.Size, + sha1.BlockSize, }, { sha1.New, @@ -68,6 +74,8 @@ var hmacTests = []hmacTest{ }, []byte("Sample #3"), "bcf41eab8bb2d802f3d05caf7cb092ecf8d1a3aa", + sha1.Size, + sha1.BlockSize, }, // Test from Plan 9. @@ -76,6 +84,8 @@ var hmacTests = []hmacTest{ []byte("Jefe"), []byte("what do ya want for nothing?"), "750c783e6ab0b503eaa86e310a5db738", + md5.Size, + md5.BlockSize, }, // Tests from RFC 4231 @@ -88,12 +98,16 @@ var hmacTests = []hmacTest{ }, []byte("Hi There"), "b0344c61d8db38535ca8afceaf0bf12b881dc200c9833da726e9376c2e32cff7", + sha256.Size, + sha256.BlockSize, }, { sha256.New, []byte("Jefe"), []byte("what do ya want for nothing?"), "5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843", + sha256.Size, + sha256.BlockSize, }, { sha256.New, @@ -112,6 +126,8 @@ var hmacTests = []hmacTest{ 0xdd, 0xdd, }, "773ea91e36800e46854db8ebd09181a72959098b3ef8c122d9635514ced565fe", + sha256.Size, + sha256.BlockSize, }, { sha256.New, @@ -131,6 +147,8 @@ var hmacTests = []hmacTest{ 0xcd, 0xcd, }, "82558a389a443c0ea4cc819899f2083a85f0faa3e578f8077a2e3ff46729665b", + sha256.Size, + sha256.BlockSize, }, { sha256.New, @@ -155,6 +173,8 @@ var hmacTests = []hmacTest{ }, []byte("Test Using Larger Than Block-Size Key - Hash Key First"), "60e431591ee0b67f0d8a26aacbf5b77f8e0bc6213728c5140546040f0ee37f54", + sha256.Size, + sha256.BlockSize, }, { sha256.New, @@ -181,6 +201,8 @@ var hmacTests = []hmacTest{ "and a larger than block-size data. The key needs to " + "be hashed before being used by the HMAC algorithm."), "9b09ffa71b942fcb27635fbcd5b0e944bfdc63644f0713938a7f51535c3a35e2", + sha256.Size, + sha256.BlockSize, }, // Tests from http://csrc.nist.gov/groups/ST/toolkit/examples.html @@ -199,6 +221,8 @@ var hmacTests = []hmacTest{ }, []byte("Sample message for keylen=blocklen"), "5fd596ee78d5553c8ff4e72d266dfd192366da29", + sha1.Size, + sha1.BlockSize, }, { sha1.New, @@ -209,6 +233,8 @@ var hmacTests = []hmacTest{ }, []byte("Sample message for keylen