mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-05-14 12:09:35 +00:00
29 lines
884 B
Python
29 lines
884 B
Python
import hashlib
|
|
import unicodedata
|
|
from keycard.crypto.generate_pairing_token import generate_pairing_token
|
|
|
|
|
|
def test_generate_pairing_token_deterministic():
|
|
passphrase = "correct horse battery staple"
|
|
expected = hashlib.pbkdf2_hmac(
|
|
'sha256',
|
|
unicodedata.normalize('NFKD', passphrase).encode('utf-8'),
|
|
unicodedata.normalize(
|
|
'NFKD', 'Keycard Pairing Password Salt').encode('utf-8'),
|
|
50000,
|
|
dklen=32
|
|
)
|
|
assert generate_pairing_token(passphrase) == expected
|
|
|
|
|
|
def test_generate_pairing_token_unicode_normalization():
|
|
token_plain = generate_pairing_token("é")
|
|
token_composed = generate_pairing_token("é")
|
|
assert token_plain == token_composed
|
|
|
|
|
|
def test_generate_pairing_token_output_length():
|
|
token = generate_pairing_token("whatever")
|
|
assert isinstance(token, bytes)
|
|
assert len(token) == 32
|