assertEquals('M795/MAlmGU8RIsY9Q9uDLHC7bk=', $hashPassword); } /** * Test that a password can be hashed with a custom salt */ public function testEncodePasswordWithSalt() { //given $password = 'test'; $salt = base64_decode('uq81pJRRGFIY5U+E9gt8tA=='); //when $hashPassword = PasswordEncoder::hashPassword($password, PasswordEncoder::ALGORITHM_SHA_1, $salt); //then $this->assertEquals('QiDOcpia1YzSVJPiKPwWebl9p/0=', $hashPassword); } /** * Test that the encoder falls back on SHA-1 if a non supported algorithm is given */ public function testDefaultsToSha1IfUnsupportedAlgorithm() { //given $password = 'test'; $salt = base64_decode('uq81pJRRGFIY5U+E9gt8tA=='); //when $hashPassword = PasswordEncoder::hashPassword($password, PasswordEncoder::ALGORITHM_MAC, $salt); //then $this->assertEquals('QiDOcpia1YzSVJPiKPwWebl9p/0=', $hashPassword); } /** * Test that the encoder falls back on SHA-1 if a non supported algorithm is given */ public function testEncodePasswordWithNullAsciiCodeInPassword() { //given $password = 'test' . chr(0); $salt = base64_decode('uq81pJRRGFIY5U+E9gt8tA=='); //when $hashPassword = PasswordEncoder::hashPassword($password, PasswordEncoder::ALGORITHM_MAC, $salt, 1); //then $this->assertEquals('rDV9sgdDsztoCQlvRCb1lF2wxNg=', $hashPassword); } }