1import hashlib
2from binascii import hexlify, unhexlify
3
4from hkdf import Hkdf, hkdf_expand, hkdf_extract
5
6salt = b"ThisIsTheSalt."
7key_in = b"ThisIsTheSecretKey"
8key_info = b"KeyInfo1"
9key_len = 16
10expected_key = unhexlify(b"b49d6cc9065b72f3a0859377d8bb7299")
11
12prk = hkdf_extract(salt, input_key_material=key_in, hash=hashlib.sha512)
13key1 = hkdf_expand(prk, info=key_info, length=key_len)
14
15print("key1:", hexlify(key1))
16assert key1 == expected_key
17
18kdf = Hkdf(salt, input_key_material=key_in, hash=hashlib.sha512)
19key2 = kdf.expand(info=key_info, length=key_len)
20
21print("key2:", hexlify(key2))
22assert key2 == expected_key
23