Can anyone help me convert this PHP function to Visual Basic?

Status
Not open for further replies.

tb303

Supreme Member
Joined
Dec 18, 2011
Messages
1,238
Reaction score
902
Not sure which forum to put this in so im sticking it here.

currently im having to host the PHP on my server and use VB to get it via http which is a bit lame.

can someone help out? or even give a vague idea what this function is doing so i can at least do a bit of googling.

Code:
// Create a url hash
    function createHash($string)
    {
        $check1 = stringToNumber($string, 0x1505, 0x21);
        $check2 = stringToNumber($string, 0, 0x1003F);


        $factor = 4;
        $halfFactor = $factor / 2;


        $check1 >>= $halfFactor;
        $check1 = (($check1 >> $factor) & 0x3FFFFC0) | ($check1 & 0x3F);
        $check1 = (($check1 >> $factor) & 0x3FFC00) | ($check1 & 0x3FF);
        $check1 = (($check1 >> $factor) & 0x3C000) | ($check1 & 0x3FFF);


        $calc1 = (((($check1 & 0x3C0) << $factor) | ($check1 & 0x3C)) << $halfFactor) | ($check2 & 0xF0F);
        $calc2 = (((($check1 & 0xFFFFC000) << $factor) | ($check1 & 0x3C00)) << 0xA) | ($check2 & 0xF0F0000);


        return ($calc1 | $calc2);
    }

edit, just noticed it also uses this function
Code:
// Convert string to a number
    function stringToNumber($string, $check, $magic)
    {
        $int32 = 4294967296; // 2^32
        $length = strlen($string);
        for ($i = 0; $i < $length; $i++) {
            $check *= $magic;
            //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31),
            //  the result of converting to integer is undefined
            //  refer to http://www.php.net/manual/en/language.types.integer.php
            if ($check >= $int32) {
                $check = ($check - $int32 * (int)($check / $int32));
                //if the check less than -2^31
                $check = ($check < -($int32 / 2)) ? ($check + $int32) : $check;
            }
            $check += ord($string{$i});
        }
        return $check;
    }

Actually If someone can convert those two for me and save my time I can give them a couple of expired domains with mashable.com backlinks
 
Last edited:
doesnt matter... done it myself :)
 
Status
Not open for further replies.
Back
Top