generateInternal example

class Sha256 implements LegacyEncoderInterface
{
    public function getName(): string
    {
        return 'Sha256';
    }

    public function isPasswordValid(string $password, string $hash): bool
    {
        [$iterations$salt] = explode(':', $hash);

        $verifyHash = $this->generateInternal($password$salt(int) $iterations);

        return hash_equals($hash$verifyHash);
    }

    private function generateInternal(string $password, string $salt, int $iterations): string
    {
        $hash = '';
        for ($i = 0; $i <= $iterations; ++$i) {
            $hash = hash('sha256', $hash . $password . $salt);
        }

        

    public function isPasswordValid($password$hash)
    {
        if (!str_contains($hash, self::DELIMITER)) {
            throw new DomainException(sprintf('Invalid hash provided for the encoder %s.', $this->getName()));
        }

        list($iterations$salt) = explode(self::DELIMITER, $hash);

        $verifyHash = $this->generateInternal($password$salt(int) $iterations);

        return hash_equals($hash$verifyHash);
    }

    /** * @param string $password * * @return string */
    public function encodePassword($password)
    {
        
Home | Imprint | This part of the site doesn't use cookies.