|
|
|
| Люди такой вопрос если взять число к примеру 17 произвести ряд вычислении с константами (-+/*) и допустим получиться 39488 трудно ли будет узнать процес вычеслении что к 17 прибовлялось отнималось и т.д. учитывая что число 17 будет меняться а значит и конечное, а константы не меняються одни и те жи числа, но константы не известны? мне над как-то обезопасить запрос и я пытаюсь придумать алгоритм ) | |
|
|
|
|
|
|
|
для: Dazzl
(06.12.2011 в 13:42)
| | Хотите изобрести свой алгоритм шифрования? Лучше отказаться от этого и использовать стандартные, которые математически обоснованно спроектированы так, чтобы их расшифровка была максимально затруднена. Без подготовки и понимания теории создания таких алгоритмов, надежный шифр вы не создадите - там будет множество слабостей, которые нащупают и взломают. | |
|
|
|
|
|
|
|
для: cheops
(06.12.2011 в 14:53)
| | Тогда покажите мне какой-нить из стандартных алгоритмов шифрования? я пытаюсь зделать так чтоб вместе с запросом шёл какоё-нить ключ или пароль чтоб запрос принимался только если ключ подходит.
Мне тут просто сказали что запрос нельзя зашифровать в смысле такой функции в пхп нет вот я эксперментирую ) | |
|
|
|
|
|
|
|
для: Dazzl
(06.12.2011 в 18:01)
| | Правильно ли я понимаю, что речь идет об обратимом шифровании? Т.е. из зашифрованного значения потом необходимо извлечь первоначальное? В этом случае обычно применяют функции из стандартного расширения mcrypt. Можно начать отталкиваться от следующего примера
<?php
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "очень секретный ключ";
$text = 27;
// Шифруем
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo $crypttext."<br />";
// Расшифровываем
$text = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv);
echo $text."<br />";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(06.12.2011 в 18:25)
| | а на сколько надёжный этот пример? | |
|
|
|
|
|
|
|
для: Dazzl
(06.12.2011 в 18:34)
| | С достоинствами и критикой этого алгоритма можно ознакомиться по ссылке http://ru.wikipedia.org/wiki/Advanced_Encryption_Standard В любом случае библиотека mcrypt позволяет использовать и другие алгоритмы - можно попробовать их. | |
|
|
|
|
|
|
|
для: cheops
(06.12.2011 в 18:49)
| | Я вот понять не могу.
Пожалуйста напишите как этот код шифрует на одной странице текст, передает запрос на другую и расшив-ет на другой
У меня не получаеться ( | |
|
|
|
|
|
|
|
для: cheops
(06.12.2011 в 18:49)
| | шифрую так
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "очень секретный ключ";
$text = 30;
// Шифруем
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
echo $crypttext."<br />";
if ($_POST['q']) echo file_get_contents("http://test1.ru/script.php?q=$crypttext");
?>
<form action="script.php" method=post>
<input name=q type=submit>
<input name=t >
</form>
расшиф-ю так
[code]$crypttext1 = $_POST['q'];
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "очень секретный ключ";
$text = 30;
// Расшифровываем
$text = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv);
echo $text."<br />";
|
[/code]
не получаеться | |
|
|
|
|
|
|
|
для: Dazzl
(07.12.2011 в 13:51)
| | $crypttext при формировании ссылки http://test1.ru/script.php?q=$crypttext нужно еще дополнительно пропускать через rawurlencode(), иначе побъется зашифрованная строка - там же используются недопустимые для URL символы. | |
|
|
|
|
|
|
|
для: cheops
(07.12.2011 в 18:18)
| | А потом после передачи её на до обратно как-то закодировать? а то у меня обратно неувязочка )) | |
|
|
|
|
|
|
|
для: cheops
(07.12.2011 в 18:18)
| | А-а не-не не надо разобрался тебе спасибо как всегда вытащил. | |
|
|
|