MessageDigestPasswordEncoderTest.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
  5. *
  6. * For the full copyright and license information, please view the LICENSE
  7. * file that was distributed with this source code.
  8. */
  9. namespace Symfony\Tests\Component\Security\Encoder;
  10. use Symfony\Component\Security\Encoder\MessageDigestPasswordEncoder;
  11. class MessageDigestPasswordEncoderTest extends \PHPUnit_Framework_TestCase
  12. {
  13. public function testIsPasswordValid()
  14. {
  15. $encoder = new MessageDigestPasswordEncoder();
  16. $this->assertTrue($encoder->isPasswordValid(hash('sha256', 'password'), 'password', ''));
  17. }
  18. public function testEncodePassword()
  19. {
  20. $encoder = new MessageDigestPasswordEncoder();
  21. $this->assertSame(hash('sha256', 'password'), $encoder->encodePassword('password', ''));
  22. $encoder = new MessageDigestPasswordEncoder('sha256', true);
  23. $this->assertSame(base64_encode(hash('sha256', 'password', true)), $encoder->encodePassword('password', ''));
  24. $encoder = new MessageDigestPasswordEncoder('sha256', false, 2);
  25. $this->assertSame(hash('sha256', hash('sha256', 'password', true)), $encoder->encodePassword('password', ''));
  26. }
  27. /**
  28. * @expectedException LogicException
  29. */
  30. public function testEncodePasswordAlgorithmDoesNotExist()
  31. {
  32. $encoder = new MessageDigestPasswordEncoder('foobar');
  33. $encoder->encodePassword('password', '');
  34. }
  35. }