Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Легко или сложно воспроизвести логику арифметического преобрзования числа
 
 автор: Dazzl   (06.12.2011 в 13:42)   письмо автору
 
 

Люди такой вопрос если взять число к примеру 17 произвести ряд вычислении с константами (-+/*) и допустим получиться 39488 трудно ли будет узнать процес вычеслении что к 17 прибовлялось отнималось и т.д. учитывая что число 17 будет меняться а значит и конечное, а константы не меняються одни и те жи числа, но константы не известны? мне над как-то обезопасить запрос и я пытаюсь придумать алгоритм )

  Ответить  
 
 автор: cheops   (06.12.2011 в 14:53)   письмо автору
 
   для: Dazzl   (06.12.2011 в 13:42)
 

Хотите изобрести свой алгоритм шифрования? Лучше отказаться от этого и использовать стандартные, которые математически обоснованно спроектированы так, чтобы их расшифровка была максимально затруднена. Без подготовки и понимания теории создания таких алгоритмов, надежный шифр вы не создадите - там будет множество слабостей, которые нащупают и взломают.

  Ответить  
 
 автор: Dazzl   (06.12.2011 в 18:01)   письмо автору
 
   для: cheops   (06.12.2011 в 14:53)
 

Тогда покажите мне какой-нить из стандартных алгоритмов шифрования? я пытаюсь зделать так чтоб вместе с запросом шёл какоё-нить ключ или пароль чтоб запрос принимался только если ключ подходит.

Мне тут просто сказали что запрос нельзя зашифровать в смысле такой функции в пхп нет вот я эксперментирую )

  Ответить  
 
 автор: cheops   (06.12.2011 в 18:25)   письмо автору
 
   для: Dazzl   (06.12.2011 в 18:01)
 

Правильно ли я понимаю, что речь идет об обратимом шифровании? Т.е. из зашифрованного значения потом необходимо извлечь первоначальное? В этом случае обычно применяют функции из стандартного расширения mcrypt. Можно начать отталкиваться от следующего примера
<?php
  $iv_size 
mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256MCRYPT_MODE_ECB);
  
$iv mcrypt_create_iv($iv_sizeMCRYPT_RAND);
  
$key "очень секретный ключ";
  
$text 27;

  
// Шифруем
  
$crypttext mcrypt_encrypt(MCRYPT_RIJNDAEL_256$key$textMCRYPT_MODE_ECB$iv);
  echo 
$crypttext."<br />";
  
// Расшифровываем
  
$text mcrypt_decrypt(MCRYPT_RIJNDAEL_256$key$crypttextMCRYPT_MODE_ECB$iv);
  echo 
$text."<br />";
?>

  Ответить  
 
 автор: Dazzl   (06.12.2011 в 18:34)   письмо автору
 
   для: cheops   (06.12.2011 в 18:25)
 

а на сколько надёжный этот пример?

  Ответить  
 
 автор: cheops   (06.12.2011 в 18:49)   письмо автору
 
   для: Dazzl   (06.12.2011 в 18:34)
 

С достоинствами и критикой этого алгоритма можно ознакомиться по ссылке http://ru.wikipedia.org/wiki/Advanced_Encryption_Standard В любом случае библиотека mcrypt позволяет использовать и другие алгоритмы - можно попробовать их.

  Ответить  
 
 автор: Dazzl   (07.12.2011 в 13:46)   письмо автору
 
   для: cheops   (06.12.2011 в 18:49)
 

Я вот понять не могу.

Пожалуйста напишите как этот код шифрует на одной странице текст, передает запрос на другую и расшив-ет на другой

У меня не получаеться (

  Ответить  
 
 автор: Dazzl   (07.12.2011 в 13:51)   письмо автору
 
   для: 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]
не получаеться

  Ответить  
 
 автор: cheops   (07.12.2011 в 18:18)   письмо автору
 
   для: Dazzl   (07.12.2011 в 13:51)
 

$crypttext при формировании ссылки http://test1.ru/script.php?q=$crypttext нужно еще дополнительно пропускать через rawurlencode(), иначе побъется зашифрованная строка - там же используются недопустимые для URL символы.

  Ответить  
 
 автор: Dazzl   (08.12.2011 в 10:55)   письмо автору
 
   для: cheops   (07.12.2011 в 18:18)
 

А потом после передачи её на до обратно как-то закодировать? а то у меня обратно неувязочка ))

  Ответить  
 
 автор: Dazzl   (08.12.2011 в 11:23)   письмо автору
 
   для: cheops   (07.12.2011 в 18:18)
 

А-а не-не не надо разобрался тебе спасибо как всегда вытащил.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования