Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.06.2006, 22:36
_kos вне форума Посмотреть профиль Отправить личное сообщение для _kos Найти все сообщения от _kos
  № 1  
Ответить с цитированием
_kos
 
Аватар для _kos

Регистрация: Mar 2006
Сообщений: 82
По умолчанию md5 шифрование

Привет всем! Немогу никак побороть глюк. Есть функции шифрации и дешифрации данных по алгоритму md5.
PHP код:
function get_rnd_iv($iv_len){
   
$iv '';
   while (
$iv_len-- >0){
       
$iv .= chr(mt_rand() & 0xff);
   }
   return 
$iv;
}

function 
md5_encrypt($plain_text$password$iv_len 16){
   
$plain_text .= "\x13";
   
$n strlen($plain_text);
   if (
$n 16$plain_text .= str_repeat("\0"16 - ($n 16));
   
$i 0;
   
$enc_text get_rnd_iv($iv_len);
   
$iv substr($password $enc_text0512);
   while (
$i $n){
       
$block substr($plain_text$i16) ^ pack('H*'md5($iv));
       
$enc_text .= $block;
       
$iv substr($block $iv0512) ^ $password;
       
$i += 16;
   }
   return 
base64_encode($enc_text);
}

function 
md5_decrypt($enc_text$password$iv_len 16){
   
$enc_text base64_decode($enc_text);
   
$n strlen($enc_text);
   
$i $iv_len;
   
$plain_text '';
   
$iv substr($password substr($enc_text0$iv_len), 0512);
   while (
$i $n) {
       
$block substr($enc_text$i16);
       
$plain_text .= $block pack('H*'md5($iv));
       
$iv substr($block $iv0512) ^ $password;
       
$i += 16;
   }
   return 
preg_replace('/\\x13\\x00*$/'''$plain_text);

Данные функцией md5_encrypt зашифровывются, md5_decrypt расшифровываются. Локально всё работает замечательно, как только выношу это в интернет, иногда проскакивает сбой. Данные не расшифровываются: данные выдаются в виде набора кракозябров... Где подводный камень?
$password ключ, по которому происходит шифрация и дешифрация данных.

Старый 13.06.2006, 22:39
_kos вне форума Посмотреть профиль Отправить личное сообщение для _kos Найти все сообщения от _kos
  № 2  
Ответить с цитированием
_kos
 
Аватар для _kos

Регистрация: Mar 2006
Сообщений: 82
можно попробовать здесь
http://www.express-at.ru/gd/humancheck_form.php

Старый 13.06.2006, 22:55
-MS- вне форума Посмотреть профиль Отправить личное сообщение для -MS- Найти все сообщения от -MS-
  № 3  
Ответить с цитированием
-MS-
 
Аватар для -MS-

Регистрация: Jun 2005
Сообщений: 367
md5 возвращает хэш, какое отношение твои функции имеют к md5?
__________________
[MScoder]

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 04:42.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.