Пожалуйста прошу помочь Вас! Дело в том, что впервые столкнулся с гаммированием и необходимо было его реализовать. C++ подошёл бы лучше, но я всё же хочу сделать это на PHP. Те, кто знают как это реализовать, прошу помочь (на примере кода). Я выложил то, что удалось написать, но что то не так и он не работает. Помогите пожалуйста! :idea: PHP: <HTML> <HEAD> <TITLE>Gamma</TITLE></HEAD> <BODY> <H1>Gamma</H1><br> <FORM NAME="f1" METHOD="POST"> Input word: <br> <INPUT TYPE="text" NAME="pwd"><br> Input key: <br> <INPUT TYPE="text" name="keyz"><br> <INPUT TYPE="submit" value="CRYPT"> </FORM> <?PHP if (isset($_POST["pwd"])) { $prewords=$_POST["pwd"]; $key=$_POST["keyz"]; $str_len = strlen($prewords); $gamma = ''; strtolower($prewords); function xorShipher($prewords,$key) { //simple xor while (strlen($gamma)< $str_len) { $seq = pack("H*",sha1($key)); $gamma.=substr($seq,0,8); } $resulted=$prewords^$gamma; echo "Шифруемое слово: ".$resulted."<br>"; echo "Кол-во символов: ".$str_len."<br>"; echo "Исходное слово слово: ".$prewords."<br>"; } } ?> </BODY> </HTML>
сори, я думал поймешь, что надо перенести после объявления функции. PHP: echo "Исходное слово слово: ".$prewords."<br>"; } xorShipher($prewords,$key); }
//Т.е. вот так?? Я что то туплю PHP: <HTML> <HEAD> <TITLE>Gamma</TITLE></HEAD> <BODY> <H1>Gamma</H1><br> <FORM NAME="f1" METHOD="POST"> Input word: <br> <INPUT TYPE="text" NAME="pwd"><br> Input key: <br> <INPUT TYPE="text" name="keyz"><br> <INPUT TYPE="submit" value="CRYPT"> </FORM> <?PHP if (isset($_POST["pwd"])) { $prewords=$_POST["pwd"]; $key=$_POST["keyz"]; $str_len = strlen($prewords); $gamma = ''; strtolower($prewords); function xorShipher($prewords,$key) { //simple xor while (strlen($gamma)< $str_len) { $seq = pack("H*",sha1($key)); $gamma.=substr($seq,0,8); } $resulted=$prewords^$gamma; echo "Шифруемое слово: ".$resulted."<br>"; echo "Кол-во символов: ".$str_len."<br>"; echo "Исходное слово слово: ".$prewords."<br>"; } xorShipher($prewords,$key); } ?> </BODY> </HTML>
А если записать так, то он куда то заносит данные, что то делает с ними и НИЧЕГО не выносит в результат PHP: <HTML> <HEAD> <TITLE>Gamma</TITLE></HEAD> <BODY> <H1>Gamma</H1><br> <FORM NAME="f1" METHOD="POST"> Input word: <br> <INPUT TYPE="text" NAME="pwd"><br> Input key: <br> <INPUT TYPE="text" name="keyz"><br> <INPUT TYPE="submit" value="CRYPT"> </FORM> <?PHP if (isset($_POST["pwd"])) { $prewords=$_POST["pwd"]; $key=$_POST["keyz"]; $str_len = strlen($prewords); $gamma = ''; strtolower($prewords); function xorShipher($prewords,$key) { //simple xor while (strlen($gamma)< $str_len) { $seq = pack("H*",sha1($key)); $gamma.=substr($seq,0,8); } return $string^$gamma; $resulted=$prewords^$gamma; echo "Шифруемое слово: ".$resulted."<br>"; echo "Кол-во символов: ".$str_len."<br>"; echo "Исходное слово слово: ".$prewords."<br>"; } xorShipher($prewords,$key); } ?> </BODY> </HTML>
Я его немного подправил, но всё равно не понимаю. Что то с гаммой надо сделать.. Уже не соображаю, а к завтрашнему дню это надо( PHP: <HTML> <HEAD> <TITLE>Gamma</TITLE></HEAD> <BODY> <H1>Gamma</H1><br> <FORM NAME="f1" METHOD="POST"> Input word: <br> <INPUT TYPE="text" NAME="pwd"><br> Input key: <br> <INPUT TYPE="text" name="keyz"><br> <INPUT TYPE="submit" value="CRYPT"> </FORM> <?PHP if (isset($_POST["pwd"])) { $prewords=$_POST["pwd"]; $key=$_POST["keyz"]; $str_len = strlen($prewords); $gamma = ''; strtolower($prewords); function xorShipher($prewords,$key) { //simple xor while (strlen($gamma)< $str_len) { $seq = pack("H*",sha1($key)); $gamma.=substr($seq,0,8); return $prewords^$gamma; $resulted=$prewords^$gamma; } xorShipher($prewords,$key); } echo "Шифруемое слово: ".$resulted."<br>"; echo "Кол-во символов: ".$str_len."<br>"; echo "Исходное слово слово: ".$prewords."<br>"; } ?> </BODY> </HTML>