//echo($argv[0]."\n"); //$code = $argv[1]; //$message = implode("", file($argv[2])); $message = "&.(\fh(-fKH-)!F\r\ng%«ÍH\$,7\r\nY"; $code = "gfgFHJghGjhghjfVHGhjGhjGvvXfgdTGfHgHfgFhfVBGcftDtFzdfdgfgf6ztFzF"; //Message to bin array: $i = 0; $message_bin = ""; while ($i < strlen($message)) { $message_bin = $message_bin . bin_trim(base_convert(ord($message[$i]), 10, 2)) . "\n "; $i++; } //echo ($message_bin."\n\n"); //Debug $message_bin = explode(" ", $message_bin); //Encode: $i = 0; $y = 0; while ($i < strlen($message)) { $char = $message_bin[$i]; $cchar = bin_trim(base_convert(ord($code[$y]), 10, 2)); //echo($code[$y]); //Debug //echo($cchar."\n"); //Debug //echo($char); //Debug $message[$i] = chr(base_convert(xor_bytes($char, $cchar), 2, 10)); $y++; if ($y >= strlen($code)) { $y = 0; } $i++; } echo $message;
$i++; } echo "\n"; //Reverse $text = "Ahoj lidi..."; $text = implode("", file("cypher.txt")); $text = "vo svete jednotiek a nul sa pohybuju ozajstni pani programatori, obycajni koderi, lamy, aj uplni amateri. je cas oddelit jednotky od nul!"; function bin_trim($bin) { $x = 8 - strlen($bin); $y = ""; while ($x) { $y = $y . "0"; $x--; } return $y . $bin; } echo "\n"; //Code $i = 0; $nl = 0; while ($i < strlen($text)) { echo bin_trim(base_convert(ord($text[$i]), 10, 2)) . " "; $i++; $nl++; if ($nl >= 16) { echo "\n"; $nl = 0; } } echo "\n";