Check Checksum: ----------------------------------------------------------------------------- Eiffel ----------------------------------------------------------------------------- from i := 1 j := 0 until i > string.count loop a_char := string.item (i) if a_char.is_alpha or a_char.is_digit then checksum := checksum.bit_xor (a_char.code.bit_shift_left ((j \\ 4) * 8)) j := j + 1 end i := i + 1 end ----------------------------------------------------------------------------- PHP ----------------------------------------------------------------------------- foreach ($_REQUEST as $key => $value) { if($key != checksum) $data_for_checksum .= $value } $data_for_checksum = eregi_replace("|","", $data_for_checksum) $len = strlen($data_for_checksum); for($i=0, $j=0, $checksum=0; $i<$len; $i++){ $p = ord($data_for_checksum[$i]); // if char is alpha or digit if (($p >= 48 && $p <= 57) || ($p >= 65 && $p <= 90) || ($p >= 97 && $p <= 122)) { $checksum ^= (ord($data_for_checksum) << ((j%4)*8)); $j++; } } // todo: check if $checksum is the same as the one sent