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

Разное

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Шифрование с двумя ключами на PHP

Сообщения:  [1-10]   [11-13] 

 
 автор: Eugene77   (18.10.2007 в 17:06)   письмо автору
 
   для: Саня   (18.10.2007 в 01:03)
 

Ну ладно, спасибо!
Ссылка на авторитет Трианона весьма убеждает.
Теперь ясно, что я ничего не найду.
Спасибо за помощь!
Жалко, что Трианона не видать на форуме!
Он такое огромное влияние на всё тат возымел!
Помню почти все его ответы.

   
 
 автор: Саня   (18.10.2007 в 01:03)   письмо автору
 
   для: Eugene77   (17.10.2007 в 17:11)
 

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=25553

   
 
 автор: Eugene77   (17.10.2007 в 17:11)   письмо автору
 
   для: Eugene77   (15.10.2007 в 19:55)
 

Можно самому сгенерировать ключ, однако, браузер будет всегда выдвать окно - готовы ли вы посетить этот сайт без "лицензионного" ключа.

Вот это интересно!
Мне ключ надо не для посещения сайта, а для своих внутренних нужд.
Некоторые данные о пользователях, те, которые нужны только в исключительных ситуациях,
я хочу хранить в зашифрованном виде.
Надёжней будет если на сайте у меня будет присутствовать только шифровочный ключ.
А расшифровочный будет лежать дома.
Но как сделать пару ключей?
Самому что ли скрипт сочинять?

   
 
 автор: kasmanaft   (17.10.2007 в 16:29)   письмо автору
 
   для: Саня   (17.10.2007 в 00:26)
 

"шифрование с двумя ключами" - одним ключем зашифровываем, другим расшифровываем.. А не по принципу чем больше ключей, тем круче =)
Кстати, википедия сказала, что DES - симметричный алгоритм, то есть не то, что нужно.

UPD оу.. не заметил mcrypt_get_iv_size(), может чего не того ляпнул.. По правде говоря, не очень разбираюсь во всяких криптоштучках..

   
 
 автор: cheops   (17.10.2007 в 16:06)   письмо автору
 
   для: kasmanaft   (17.10.2007 в 15:33)
 

SSL бесплатная, но вот выдача ключей - вещь платная, если сайт с "лицензионным" ключом набедокурил - ключ блокируется, а владелец теряет деньги - это снижает вероятность злоупотреблений. Можно самому сгенерировать ключ, однако, браузер будет всегда выдвать окно - готовы ли вы посетить этот сайт без "лицензионного" ключа.

   
 
 автор: kasmanaft   (17.10.2007 в 15:33)   письмо автору
 
   для: Eugene77   (17.10.2007 в 13:53)
 

Нет, разве openssl_pkey_new() не оно?
OpenSSL бесплатная весч, опенсурсь.. вряд ли там нужно что-либо покупать.

   
 
 автор: Eugene77   (17.10.2007 в 13:53)   письмо автору
 
   для: kasmanaft   (16.10.2007 в 18:49)
 

>В mcrypt вроде его и нет, посмотрите http://php.net/openssl

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

Сане и Евгению Петрову:
Верно, такой подход вполне уместен, но для другой ситуации.
Меня интересуют парные ключи. То есть когда для шифрации и дешифрации
нужны разные ключи впридачу ещё и не выводимые друг из друга.

   
 
 автор: Саня   (17.10.2007 в 00:26)   письмо автору
 
   для: Eugene77   (16.10.2007 в 18:23)
 

Вообще это можно сделать при помощи TripleDES, поддержка которой есть в библиотеке, однако я не разобрался как во второй итерации шифрования использовать другой ключ. Но на основе DES можно и самому сделать TripleDES... и даже с тремя ключами:
<?php
$key1 
"12345678";
$key2 "Саня";
$key3 "триплДес";

$text "Meet me at 11 o'clock behind the monument.";
echo 
"Исходный текст: ".$text."<br/>";

$iv_size mcrypt_get_iv_size(MCRYPT_DESMCRYPT_MODE_ECB);
$iv mcrypt_create_iv($iv_sizeMCRYPT_RAND);

$crypt mcrypt_encrypt(MCRYPT_DES$key1$textMCRYPT_MODE_ECB$iv);
$crypt mcrypt_decrypt(MCRYPT_DES$key2$cryptMCRYPT_MODE_ECB$iv);
$crypt mcrypt_encrypt(MCRYPT_DES$key3$cryptMCRYPT_MODE_ECB$iv);
echo 
"Зашифровали: ".$crypt."<br/>";

$source mcrypt_decrypt(MCRYPT_DES$key3$cryptMCRYPT_MODE_ECB$iv);
$source mcrypt_encrypt(MCRYPT_DES$key2$sourceMCRYPT_MODE_ECB$iv);
$source mcrypt_decrypt(MCRYPT_DES$key1$sourceMCRYPT_MODE_ECB$iv);
echo 
"Расшифровали: ".$source;

   
 
 автор: Евгений Петров   (16.10.2007 в 22:54)   письмо автору
 
   для: Eugene77   (16.10.2007 в 18:23)
 

А почему бы не шифровать 2 раза строку по 2-м разным ключам?

   
 
 автор: kasmanaft   (16.10.2007 в 18:49)   письмо автору
 
   для: Eugene77   (16.10.2007 в 18:23)
 

В mcrypt вроде его и нет, посмотрите http://php.net/openssl

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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