Új hozzászólás Aktív témák

  • cinemazealot

    addikt

    LOGOUT blog (1)

    És íme egy saját "minimál" base32 dekóder, levezetés gyanánt: :D

    function base32_decode(string $text)
    {
        $abc = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
        $i = 0;
        $l = strlen($text = trim(strtoupper($text)));
        $result = '';
        $fivebyte = 0;
        while ($i < $l) {
            $f = $i % 8;
            if ($text[$i] == '=') break;
            $p = strpos($abc, $text[$i]);
            if ($p === false) throw new \Exception('Illegal base32 character: ' . $text[$i]);
            $fivebyte |= ($p << (35 - $f * 5));
            if ($f == 7) {
                $result .= str_pad(dechex($fivebyte), 10, '0', STR_PAD_LEFT);
                $fivebyte = 0;
            }
            $i++;
        }
        if ($text[$i] == '=') {
            $result .= substr(str_pad(dechex($fivebyte), 10, '0', STR_PAD_LEFT), 0, $i % 8);
        }
        return hex2bin($result);
    }

    Forrás RFC 4648. Most pedig szunya! :))

Új hozzászólás Aktív témák