XMPPStream::encrypt_password PHP Method

encrypt_password() public method

public encrypt_password ( $data, $user, $pass )
    public function encrypt_password($data, $user, $pass)
    {
        foreach (array('realm', 'cnonce', 'digest-uri') as $key) {
            if (!isset($data[$key])) {
                $data[$key] = '';
            }
        }
        $pack = md5($user . ':' . $data['realm'] . ':' . $pass);
        if (isset($data['authzid'])) {
            $a1 = pack('H32', $pack) . sprintf(':%s:%s:%s', $data['nonce'], $data['cnonce'], $data['authzid']);
        } else {
            $a1 = pack('H32', $pack) . sprintf(':%s:%s', $data['nonce'], $data['cnonce']);
        }
        $a2 = 'AUTHENTICATE:' . $data['digest-uri'];
        return md5(sprintf('%s:%s:%s:%s:%s:%s', md5($a1), $data['nonce'], $data['nc'], $data['cnonce'], $data['qop'], md5($a2)));
    }