SimplePasswordHasher.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. *
  4. *
  5. * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
  6. * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
  7. *
  8. * Licensed under The MIT License
  9. * For full copyright and license information, please see the LICENSE.txt
  10. * Redistributions of files must retain the above copyright notice.
  11. *
  12. * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
  13. * @link http://cakephp.org CakePHP(tm) Project
  14. * @since CakePHP(tm) v 2.4.0
  15. * @license http://www.opensource.org/licenses/mit-license.php MIT License
  16. */
  17. App::uses('AbstractPasswordHasher', 'Controller/Component/Auth');
  18. App::uses('Security', 'Utility');
  19. /**
  20. * Simple password hashing class.
  21. *
  22. * @package Cake.Controller.Component.Auth
  23. */
  24. class SimplePasswordHasher extends AbstractPasswordHasher {
  25. /**
  26. * Config for this object.
  27. *
  28. * @var array
  29. */
  30. protected $_config = array('hashType' => null);
  31. /**
  32. * Generates password hash.
  33. *
  34. * @param string $password Plain text password to hash.
  35. * @return string Password hash
  36. * @link http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#hashing-passwords
  37. */
  38. public function hash($password) {
  39. return Security::hash($password, $this->_config['hashType'], true);
  40. }
  41. /**
  42. * Check hash. Generate hash for user provided password and check against existing hash.
  43. *
  44. * @param string $password Plain text password to hash.
  45. * @param string Existing hashed password.
  46. * @return boolean True if hashes match else false.
  47. */
  48. public function check($password, $hashedPassword) {
  49. return $hashedPassword === $this->hash($password);
  50. }
  51. }