@@ -12,8 +12,16 @@ def test_md5_vectors(self):
1212 def md5test (key , data , digest ):
1313 h = hmac .HMAC (key , data , digestmod = hashlib .md5 )
1414 self .assertEqual (h .hexdigest ().upper (), digest .upper ())
15+ self .assertEqual (h .name , "hmac-md5" )
16+ self .assertEqual (h .digest_size , 16 )
17+ self .assertEqual (h .block_size , 64 )
18+
1519 h = hmac .HMAC (key , data , digestmod = 'md5' )
1620 self .assertEqual (h .hexdigest ().upper (), digest .upper ())
21+ self .assertEqual (h .name , "hmac-md5" )
22+ self .assertEqual (h .digest_size , 16 )
23+ self .assertEqual (h .block_size , 64 )
24+
1725
1826 md5test (b"\x0b " * 16 ,
1927 b"Hi There" ,
@@ -48,8 +56,15 @@ def test_sha_vectors(self):
4856 def shatest (key , data , digest ):
4957 h = hmac .HMAC (key , data , digestmod = hashlib .sha1 )
5058 self .assertEqual (h .hexdigest ().upper (), digest .upper ())
59+ self .assertEqual (h .name , "hmac-sha1" )
60+ self .assertEqual (h .digest_size , 20 )
61+ self .assertEqual (h .block_size , 64 )
62+
5163 h = hmac .HMAC (key , data , digestmod = 'sha1' )
5264 self .assertEqual (h .hexdigest ().upper (), digest .upper ())
65+ self .assertEqual (h .name , "hmac-sha1" )
66+ self .assertEqual (h .digest_size , 20 )
67+ self .assertEqual (h .block_size , 64 )
5368
5469
5570 shatest (b"\x0b " * 20 ,
@@ -81,12 +96,20 @@ def shatest(key, data, digest):
8196 b"and Larger Than One Block-Size Data" ),
8297 "e8e99d0f45237d786d6bbaa7965c7808bbff1a91" )
8398
84- def _rfc4231_test_cases (self , hashfunc , hashname ):
99+ def _rfc4231_test_cases (self , hashfunc , hash_name , digest_size , block_size ):
85100 def hmactest (key , data , hexdigests ):
101+ hmac_name = "hmac-" + hash_name
86102 h = hmac .HMAC (key , data , digestmod = hashfunc )
87103 self .assertEqual (h .hexdigest ().lower (), hexdigests [hashfunc ])
88- h = hmac .HMAC (key , data , digestmod = hashname )
104+ self .assertEqual (h .name , hmac_name )
105+ self .assertEqual (h .digest_size , digest_size )
106+ self .assertEqual (h .block_size , block_size )
107+
108+ h = hmac .HMAC (key , data , digestmod = hash_name )
89109 self .assertEqual (h .hexdigest ().lower (), hexdigests [hashfunc ])
110+ self .assertEqual (h .name , hmac_name )
111+ self .assertEqual (h .digest_size , digest_size )
112+ self .assertEqual (h .block_size , block_size )
90113
91114
92115 # 4.2. Test Case 1
@@ -197,16 +220,16 @@ def hmactest(key, data, hexdigests):
197220 })
198221
199222 def test_sha224_rfc4231 (self ):
200- self ._rfc4231_test_cases (hashlib .sha224 , 'sha224' )
223+ self ._rfc4231_test_cases (hashlib .sha224 , 'sha224' , 28 , 64 )
201224
202225 def test_sha256_rfc4231 (self ):
203- self ._rfc4231_test_cases (hashlib .sha256 , 'sha256' )
226+ self ._rfc4231_test_cases (hashlib .sha256 , 'sha256' , 32 , 64 )
204227
205228 def test_sha384_rfc4231 (self ):
206- self ._rfc4231_test_cases (hashlib .sha384 , 'sha384' )
229+ self ._rfc4231_test_cases (hashlib .sha384 , 'sha384' , 48 , 128 )
207230
208231 def test_sha512_rfc4231 (self ):
209- self ._rfc4231_test_cases (hashlib .sha512 , 'sha512' )
232+ self ._rfc4231_test_cases (hashlib .sha512 , 'sha512' , 64 , 128 )
210233
211234 def test_legacy_block_size_warnings (self ):
212235 class MockCrazyHash (object ):
0 commit comments