Refs #27468 -- Added explicit tests for django.utils.crypto.salted_hmac()
This commit is contained in:
parent
59b4e99dd0
commit
b5a62bd17d
|
@ -1,7 +1,7 @@
|
||||||
import hashlib
|
import hashlib
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from django.utils.crypto import constant_time_compare, pbkdf2
|
from django.utils.crypto import constant_time_compare, pbkdf2, salted_hmac
|
||||||
|
|
||||||
|
|
||||||
class TestUtilsCryptoMisc(unittest.TestCase):
|
class TestUtilsCryptoMisc(unittest.TestCase):
|
||||||
|
@ -13,6 +13,25 @@ class TestUtilsCryptoMisc(unittest.TestCase):
|
||||||
self.assertTrue(constant_time_compare('spam', 'spam'))
|
self.assertTrue(constant_time_compare('spam', 'spam'))
|
||||||
self.assertFalse(constant_time_compare('spam', 'eggs'))
|
self.assertFalse(constant_time_compare('spam', 'eggs'))
|
||||||
|
|
||||||
|
def test_salted_hmac(self):
|
||||||
|
tests = [
|
||||||
|
((b'salt', b'value'), {}, 'b51a2e619c43b1ca4f91d15c57455521d71d61eb'),
|
||||||
|
(('salt', 'value'), {}, 'b51a2e619c43b1ca4f91d15c57455521d71d61eb'),
|
||||||
|
(
|
||||||
|
('salt', 'value'),
|
||||||
|
{'secret': 'abcdefg'},
|
||||||
|
'8bbee04ccddfa24772d1423a0ba43bd0c0e24b76',
|
||||||
|
),
|
||||||
|
(
|
||||||
|
('salt', 'value'),
|
||||||
|
{'secret': 'x' * hashlib.sha1().block_size},
|
||||||
|
'bd3749347b412b1b0a9ea65220e55767ac8e96b0',
|
||||||
|
),
|
||||||
|
]
|
||||||
|
for args, kwargs, digest in tests:
|
||||||
|
with self.subTest(args=args, kwargs=kwargs):
|
||||||
|
self.assertEqual(salted_hmac(*args, **kwargs).hexdigest(), digest)
|
||||||
|
|
||||||
|
|
||||||
class TestUtilsCryptoPBKDF2(unittest.TestCase):
|
class TestUtilsCryptoPBKDF2(unittest.TestCase):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue