sample_python_hkdf.py 622 B

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