Function from C/PHP to Python

Grom grommasher at gmail.com
Wed Aug 6 23:15:11 EDT 2008


Hello everyone :)
I have one problem with that function in C

int calc_passcode(const char* pass, char* code) {
    int magic1 = 0x50305735;
    int magic2 = 0x12345671;
    int sum = 7;
    char z;
    while ((z = *pass++) != 0) {
        if (z == ' ') continue;
        if (z == '\t') continue;
        magic1 ^= (((magic1 & 0x3f) + sum) * z) + (magic1 << 8);
        magic2 += (magic2 << 8) ^ magic1;
        sum += z;
    }
    magic1 &= 0x7fffffff;
    magic2 &= 0x7fffffff;
    return sprintf(code, "%08x%08x", magic1, magic2);
} // end _calc_passcode();

Can someone help me to rewrite it to python?

There is the same function, in PHP:

	function _calc_passcode($pass) {

		$magic1 = 0x50305735;
		$magic2 = 0x12345671;
		$sum = 7;
		for ($i = 0; $i < strlen($pass); $i++) {
			$z = ord($pass[$i]);
			if ($z == 32)
				continue;
			if ($z == 9)
				continue;
			$magic1 = $magic1 ^ (((($magic1 & 0x3f) + $sum) * $z) + ($magic1 <<
8));
			$magic2 = $magic2 + (($magic2 << 8) ^ $magic1);
			$sum += $z;
			$magic1 = $magic1 & 0x7fffffff;
			$magic2 = $magic2 & 0x7fffffff;
		}
		return sprintf('%08x%08x', $magic1, $magic2);

	} // end _calc_passcode();

Please... its very important to me



More information about the Python-list mailing list