- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Если допустим $SECURE_CODE = 's5d98h9jkj5h4ss5dfgfSAdfdf5d56';
for ($CNT_1=0;$CNT_1<StrLen($_POST[PHP_DATA]);$CNT_1++){
$STR=Chr(Ord($_POST[PHP_DATA][$CNT_1]));
for ($CNT_2=0;$CNT_2<StrLen($SECURE_CODE);$CNT_2++){
$STR=Chr(Ord($STR)-Ord($SECURE_CODE[$CNT_2]));
}
$_POST[PHP_DATA][$CNT_1]=$STR;
}
Как видите два цикла, причем второй колошматит каждый символ в данных отнимая значение ordкаждой буквы "пароля".
наскоко такой хеш стойкий и не опасно ли сделать доступными зашифрованные им данные?
Спецы, отозвитесь.
Это обычный шифр подстановки. Не важно сколько раз вы во втором цикле подменили букву, все равно для всех букв она будет одинаковая и цикл вырождается в простую операцию $STR=Chr(Ord($STR)-Ord(ХХ)). Шифр ломается частотным анализом.
ok, а что тогда придумать?
Надо какая-то хешевалка, которая сможет защитить открытый для публики текст, зашифрованный ею. Хотя бы дней на десять, а лучше на месяц.
AlExTeam, если надо просто, то можно и шифр подстановки, только начальный ключ возьмите длинной не меньше максимальной длинны текста и меняйте каждый символ входящей строки индивидуальной подстановкой, т.е.
$_POST[PHP_DATA][$CNT_1]=Chr(Ord($_POST[PHP_DATA][$CNT_1])-Ord($SECURE_CODE[$CNT_1]))
LiquidStorm добавил 14.11.2011 в 06:56
Ну и константу $SECURE_CODE = '...' хорошо бы вынести в отдельный файл, доступ к которому запретить через .htaccess всем (пхп без проблем его заинклудид, а вот "голым" через вебь-сервер файлик не уведут).
Почему-бы не заюзать нормальное шифрование? В чем трабла-то?
Почему-бы не заюзать нормальное шифрование? В чем трабла-то?
Ну дык где оно, нормальное шифрование?
Пример дайте.
AlExTeam добавил 15.11.2011 в 21:36
AlExTeam, если надо просто, то можно и шифр подстановки, только начальный ключ возьмите длинной не меньше максимальной длинны текста и меняйте каждый символ входящей строки индивидуальной подстановкой, т.е.
$_POST[PHP_DATA][$CNT_1]=Chr(Ord($_POST[PHP_DATA][$CNT_1])-Ord($SECURE_CODE[$CNT_1]))
LiquidStorm добавил 14.11.2011 в 06:56
Ну и константу $SECURE_CODE = '...' хорошо бы вынести в отдельный файл, доступ к которому запретить через .htaccess всем (пхп без проблем его заинклудид, а вот "голым" через вебь-сервер файлик не уведут).
Т.е. как бы ключом, но не поперек каждого символа, а вдоль? Тоже над этим подумывал.
Но токо вот народить ключ длинее данных как-то не очень это улыбается. =))
Хотя может например народить посредством while (strlen($key)<500000){$key.=md5($key);} ???
Га? =))
AlExTeam, если длинна данных такая большая, проще использовать известный алгоритм, например AES. Стойкость такого алгоритма определяется стойкостью ключа. Для ваших данных хватит минимального размера ключа в 128 бит.
Работа с алгоритмом Райндэла (второе название алгоритма, по имени создателей) реализована в стандартной библиотере Mcrypt.
Вообще, тут главное таки понять, о чем речь идет. Если нужен алгоритм шифрования с открытым ключом, то это одно дело. Если же речь идет о закрытом ключе, то тут обычный xor без проблем проканает - один хрен, без подбора (если алгоритм шифрования неизвестен) взломать невозможно.
В теме звучал вопрос про стойкость шифра. Ответ был получен (никакая) и предложен вариант "длинного" ключа для ксора по всей длинне текста. Самый простой и действенный метод. А как сделать этот ключ - вопрос риторический при такой длинне текста, более важный вопрос сохранности ключа в тайне )
В теме звучал вопрос про стойкость шифра. Ответ был получен (никакая) и предложен вариант "длинного" ключа для ксора по всей длинне текста. Самый простой и действенный метод. А как сделать этот ключ - вопрос риторический при такой длинне текста, более важный вопрос сохранности ключа в тайне )
Где-то так.
Ладно, попробую чо-то намутить, вдоль, впоперек и еще как-то сбоку можно будет попробывать.
Ну дык где оно, нормальное шифрование?
Пример дайте.
Нормальное шифрование