hash_pbkdf2_basic.phpt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. Test hash_pbkdf2() function : basic functionality
  3. --SKIPIF--
  4. <?php extension_loaded('hash') or die('skip: hash extension not loaded.'); ?>
  5. --FILE--
  6. <?php
  7. /* Prototype : string hash_hmac(string $algo, string $data, string $key [, int $length = 0 [, bool $raw_output = false]])
  8. * Description: Generate a keyed hash value using the HMAC method
  9. * Source code: ext/hash/hash.c
  10. * Alias to functions:
  11. */
  12. echo "*** Testing hash_pbkdf2() : basic functionality ***\n";
  13. echo "sha1: " . hash_pbkdf2('sha1', 'password', 'salt', 1, 20)."\n";
  14. echo "sha1(no length): " . hash_pbkdf2('sha1', 'password', 'salt', 1)."\n";
  15. echo "sha1(raw): " . bin2hex(hash_pbkdf2('sha1', 'password', 'salt', 1, 20, TRUE))."\n";
  16. echo "sha1(rounds): " . hash_pbkdf2('sha1', 'passwordPASSWORDpassword', 'saltSALTsaltSALTsaltSALTsaltSALTsalt', 4096, 25)."\n";
  17. echo "sha1(rounds)(raw): " . bin2hex(hash_pbkdf2('sha1', 'passwordPASSWORDpassword', 'saltSALTsaltSALTsaltSALTsaltSALTsalt', 4096, 25, TRUE))."\n";
  18. echo "sha256: " . hash_pbkdf2('sha256', 'password', 'salt', 1, 20)."\n";
  19. echo "sha256(no length): " . hash_pbkdf2('sha256', 'password', 'salt', 1)."\n";
  20. echo "sha256(raw): " . bin2hex(hash_pbkdf2('sha256', 'password', 'salt', 1, 20, TRUE))."\n";
  21. echo "sha256(rounds): " . hash_pbkdf2('sha256', 'passwordPASSWORDpassword', 'saltSALTsaltSALTsaltSALTsaltSALTsalt', 4096, 40)."\n";
  22. echo "sha256(rounds)(raw): " . bin2hex(hash_pbkdf2('sha256', 'passwordPASSWORDpassword', 'saltSALTsaltSALTsaltSALTsaltSALTsalt', 4096, 40, TRUE))."\n";
  23. ?>
  24. ===Done===
  25. --EXPECT--
  26. *** Testing hash_pbkdf2() : basic functionality ***
  27. sha1: 0c60c80f961f0e71f3a9
  28. sha1(no length): 0c60c80f961f0e71f3a9b524af6012062fe037a6
  29. sha1(raw): 0c60c80f961f0e71f3a9b524af6012062fe037a6
  30. sha1(rounds): 3d2eec4fe41c849b80c8d8366
  31. sha1(rounds)(raw): 3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038
  32. sha256: 120fb6cffcf8b32c43e7
  33. sha256(no length): 120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b
  34. sha256(raw): 120fb6cffcf8b32c43e7225256c4f837a86548c9
  35. sha256(rounds): 348c89dbcbd32b2f32d814b8116e84cf2b17347e
  36. sha256(rounds)(raw): 348c89dbcbd32b2f32d814b8116e84cf2b17347ebc1800181c4e2a1fb8dd53e1c635518c7dac47e9
  37. ===Done===