public static function createSubHash($string, $salt)
    {
        $context = self::createContext($string, $salt);
        $null = chr(0);
        $hash = '';
        for ($i = 0; $i < self::HASH_COUNT_STEPS; $i++) {
            $k = $i + 6;
            $j = $i + 12;
            if ($j === 16) {
                $j = 5;
            }
            $hash = $context[$i].$context[$k].$context[$j].$hash;
        }
        $hash = $null.$null.$context[11].$hash;
        $hash = base64_encode($hash);
        $hash = substr($hash, 2);
        $hash = strrev($hash);
        $hash = strtr($hash, self::BASE64_ALPHABET, self::ALPHABET);
        return $hash;
    }