hash_hkdf_edges.phpt 896 B

1234567891011121314151617181920212223242526272829
  1. --TEST--
  2. Hash: hash_hkdf() function: edge cases
  3. --FILE--
  4. <?php
  5. echo "*** Testing hash_hkdf(): edge cases ***\n";
  6. $ikm = 'input key material';
  7. echo 'Length < digestSize: ', bin2hex(hash_hkdf('md5', $ikm, 7)), "\n";
  8. echo 'Length % digestSize != 0: ', bin2hex(hash_hkdf('md5', $ikm, 17)), "\n";
  9. echo 'Algo name case-sensitivity: ', (bin2hex(hash_hkdf('Md5', $ikm, 7)) === '98b16391063ece' ? 'true' : 'false'), "\n";
  10. echo "Non-crypto algo name case-sensitivity:\n";
  11. try {
  12. var_dump(hash_hkdf('jOaAt', $ikm));
  13. }
  14. catch (\Error $e) {
  15. echo '[Error] ' . $e->getMessage() . "\n";
  16. }
  17. ?>
  18. --EXPECT--
  19. *** Testing hash_hkdf(): edge cases ***
  20. Length < digestSize: 98b16391063ece
  21. Length % digestSize != 0: 98b16391063ecee006a3ca8ee5776b1e5f
  22. Algo name case-sensitivity: true
  23. Non-crypto algo name case-sensitivity:
  24. [Error] hash_hkdf(): Argument #1 ($algo) must be a valid cryptographic hashing algorithm