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 -- http://mail.python.org/mailman/listinfo/python-list