37 lines
878 B
Python
37 lines
878 B
Python
from online.fxreader.pr34.commands_typed import crypto
|
|
import unittest
|
|
|
|
|
|
class TestCrypto(unittest.TestCase):
|
|
def test_password_utils(self) -> None:
|
|
salt = b'asdfasdfasdf'
|
|
|
|
secret = 'blah'
|
|
|
|
hash_res = crypto.PasswordUtils.secret_hash(
|
|
secret,
|
|
mode='bytes',
|
|
salt=salt,
|
|
)
|
|
self.assertEqual(
|
|
hash_res,
|
|
(
|
|
salt,
|
|
b'\xdak\xd15\xfa\x8e\xc8\r\xc3\xd2c\xf1m\xb0\xbf\xe6\x98\x01$!j\xc8\xc0Hh\x84\xea,\x91\x8b\x08\xce',
|
|
),
|
|
)
|
|
|
|
check_res = crypto.PasswordUtils.secret_check(
|
|
secret,
|
|
*hash_res,
|
|
)
|
|
|
|
self.assertTrue(check_res)
|
|
|
|
self.assertFalse(
|
|
crypto.PasswordUtils.secret_check(
|
|
secret + 'asdfasdfsdf',
|
|
*hash_res,
|
|
)
|
|
)
|