Автор Тема: Передача константы в функцию - я наверное туплю, но все-таки  (Прочитано 2987 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн reLax[0x00]

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 68
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microcat.ru


function encrypt ($data$cipher$mode$random$key) {

                            
srand((double) microtime() * 0xF4240);
                           
$td mcrypt_module_open($cipher, \'\',$mode, \'\');
                            $key = substr($key, 0, mcrypt_enc_get_key_size($td));
                            $iv_size = mcrypt_enc_get_iv_size($td);
                                 if ($iv_size!=0) {
                                     $iv = mcrypt_create_iv($iv_size, $random); 
                                 }
                                     if (mcrypt_generic_init($td, $key, $iv) != -1) {
                                         $result = mcrypt_generic($td, $data);
                                         mcrypt_generic_deinit($td);
                                         mcrypt_module_close($td);
                                         $result = $iv.$result;
                                     } 

                            return $result;

}

echo encrypt ("my string is too long as my dick", MCRYPT_BLOWFISH, MCRYPT_MODE_NOFB,  MCRYPT_DEV_URANDOM, "It\'s a very strong key. As strong as my girlfriend Natashka");



не работает ! не видит константы. Чето я не то делаю по ходу...Константы не назначены в скрипте-но они встроены в PHP.
« Последнее редактирование: 27 Мая 2006, 20:43:01 от reLax[0x00] »

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
reLax[0x00]
что означает встроены в скрипте ?
какую ошибку выводит при вызове функции ?

если не видит константы то их скорее всего нет.
[off]Безработный[/off]

Оффлайн reLax[0x00]

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 68
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.microcat.ru
for_i_0

чудеса :) заработало..только заработало после того как ты ответил, аура прям какая то :)

Но в принципе проблема в другом-смысл скрипта выдавать из массива случайный алгоритм, режим шифрования, ключ и тд. Там задача стоит в том что есть 3 сайта, и одна общая SQL БД куда сливаются заказы клиентов, естесственно транзакцию данных нужно шифрануть (HTTPS не разрешен) - потому я кидаю в начале SHA1 хеш в удаленный MySQL сервер, где в алгоритме заданы параметры шифрования информации, ключ и тд. Там проверяю уже на удаленном сервере валидна ли информация...потом шифрованную дату заношу в БД. Потом уже для дешифрации используется местная программа (там для бухов и тд) используя мой SHA1 и дату. Вообщем потом когда я сравниваю контрольную сумму md5 - она не сходится. Подозреваю тут константы. Уже и в ASCII  смотрел на NULL-bit символы в блоковых алгоритмах-не то все, там все правильно..странно. Может хостер виноват ? Я в on-line писал скрипты, дома возможности и желания Apache не было заново ставить после форматирования...

1. не встроены, говорю же. Это не мои константы define();
2. неправильный параметр
3. ww.php.net на тему mcrypt :)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28