aboutsummaryrefslogtreecommitdiff
path: root/test/util
diff options
context:
space:
mode:
authorCarl Dong <accounts@carldong.me>2018-11-16 23:24:57 -0800
committerCarl Dong <accounts@carldong.me>2018-11-17 01:26:49 -0800
commit6be7d14d243eeeaaf6b4b98c3359c3e1695f2046 (patch)
treec3909ee2454344e6f1d990287a9ef852e2854721 /test/util
parent35739976c1d9ad250ece573980c57e7e7976ae23 (diff)
downloadbitcoin-6be7d14d243eeeaaf6b4b98c3359c3e1695f2046.tar.xz
Properly generate salt in rpcauth.py, update tests
Previously, when iterating over bytes of the generated salt to construct a hex string, only one character would be outputted when the byte is less than 0x10. Meaning that for a 16 byte salt, the hex string might be less than 32 characters and collisions would occur.
Diffstat (limited to 'test/util')
-rwxr-xr-xtest/util/rpcauth-test.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/test/util/rpcauth-test.py b/test/util/rpcauth-test.py
index 46e9fbc739..53058dc394 100755
--- a/test/util/rpcauth-test.py
+++ b/test/util/rpcauth-test.py
@@ -24,8 +24,8 @@ class TestRPCAuth(unittest.TestCase):
self.rpcauth = importlib.import_module('rpcauth')
def test_generate_salt(self):
- self.assertLessEqual(len(self.rpcauth.generate_salt()), 32)
- self.assertGreaterEqual(len(self.rpcauth.generate_salt()), 16)
+ for i in range(16, 32 + 1):
+ self.assertEqual(len(self.rpcauth.generate_salt(i)), i * 2)
def test_generate_password(self):
password = self.rpcauth.generate_password()
@@ -34,7 +34,7 @@ class TestRPCAuth(unittest.TestCase):
self.assertEqual(expected_password, password)
def test_check_password_hmac(self):
- salt = self.rpcauth.generate_salt()
+ salt = self.rpcauth.generate_salt(16)
password = self.rpcauth.generate_password()
password_hmac = self.rpcauth.password_to_hmac(salt, password)