Úkol 2-5 – Šifrovací stroj
function zasifruj($text, $posun)
{
$text = mangle($text);
$text = strtr($text, "0123456789", "----------");
$text = str_replace("-", "", $text);
for($i = 0; $i < strlen($text); $i++)
{
$text[$i] = chr((ord($text[$i]) + ord($posun[$i % strlen($posun)]) - 2 * ord('a')) % 26 + ord('a'));
}
$text = strrev($text);
return $text;
}
function pocitej_posun($start, $cil)
{
$text = '';
for($i = 0; $i < strlen($start); $i++)
{
$text .= chr( ( ord($cil[$i]) - ord($start[$i]) + 26 ) % 26 + ord('a') );
}
return $text;
}
$zprava = "pizloch";
$hesla = array("jupiter", "druzice", "zarovka", "udalost", "android", "baterie", "bariera", "analyza", "letadlo", "vynalez", "sputnik", "stanice", "beztize");
$_SESSION["Task67_Password"] = $hesla[0];
$posun = pocitej_posun($_SESSION["Task67_Password"], strrev($zprava));
?>
Tak vám posílám ten nový šifrovací stroj na Technoplanetu se zaručeně nerozluštitelným šifrovacím algoritmem. V rámci testování jsem na něj nasadil nejlepší kryptology světa i superpočítače a vůbec se nechytali. Ale jak vás znám, budete si to chtít vyzkoušet sami. Takže jsem heslo na poslední šifru strojem zašifroval a vypadlo z něj slovo
echo $zprava; ?>

//echo "(".$_SESSION["Task67_Password"]." + ".$posun." + strrev() = ".$zprava.")";
echo "
)
";
if(isset($_REQUEST["Input"])) $_SESSION["Task67_History"][] = array("in" => $_REQUEST["Input"], "out" => zasifruj(isset($_REQUEST["Input"]) ? $_REQUEST["Input"] : "", $posun));
?>
if(isset($_SESSION["Task67_History"]))
{
while(count($_SESSION["Task67_History"]) > 15) array_shift($_SESSION["Task67_History"]);
foreach($_SESSION["Task67_History"] as $s)
{
echo $s["in"]." → ".$s["out"]."
";
}
}
?>