private function getHA1(): ?string
    {
        $username = $this->getUsername();
        $password = $this->getPassword();
        $realm = $this->getRealm();

        if (($username) && ($password) && ($realm)) {
            $algorithm = $this->getAlgorithm();

            if ('MD5' === $algorithm) {
                $A1 = "{$username}:{$realm}:{$password}";

                return $this->hash($A1);
            } elseif ('MD5-sess' === $algorithm) {
                $nonce = $this->getNonce();
                $cnonce = $this->getClientNonce();
                if (($nonce) && ($cnonce)) {
                    $A1 = $this->hash("{$username}:{$realm}:{$password}").":{$nonce}:{$cnonce}";

                    return $this->hash($A1);
                }
            }
        }

        return null;
    }
private function getHA1(): ?string
    {
        $username = $this->getUsername();
        $password = $this->getPassword();
        $realm = $this->getRealm();

        if (($username) && ($password) && ($realm)) {
            $algorithm = $this->getAlgorithm();

            if ('MD5' === $algorithm) {
                $A1 = "{$username}:{$realm}:{$password}";

                return $this->hash($A1);
            } elseif ('MD5-sess' === $algorithm) {
                $nonce = $this->getNonce();
                $cnonce = $this->getClientNonce();
                if (($nonce) && ($cnonce)) {
                    $A1 = $this->hash("{$username}:{$realm}:{$password}").":{$nonce}:{$cnonce}";

                    return $this->hash($A1);
                }
            }
        }

        return null;
    }
private function getHA1 ( ) : ? string { $ username = $ this -> getUsername ( ) ; $ password = $ this -> getPassword ( ) ; $ realm = $ this -> getRealm ( ) ; if ( ( $ username ) && ( $ password ) && ( $ realm ) ) { $ algorithm = $ this -> getAlgorithm ( ) ; if ( 'MD5' === $ algorithm ) { $ A1 = "{$username}:{$realm}:{$password}" ; return $ this -> hash ( $ A1 ) ; } elseif ( 'MD5-sess' === $ algorithm ) { $ nonce = $ this -> getNonce ( ) ; $ cnonce = $ this -> getClientNonce ( ) ; if ( ( $ nonce ) && ( $ cnonce ) ) { $ A1 = $ this -> hash ( "{$username}:{$realm}:{$password}" ) . ":{$nonce}:{$cnonce}" ; return $ this -> hash ( $ A1 ) ; } } } return null ; }
Calculates the value of HA1 according to RFC 2617 and RFC 2069.

@return string|null The value of HA1
Calculates the value of HA1 according to RFC 2617 and RFC 2069 .