Genri
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Dioman -- нет. даже используя какие-либо утилиты, они будут временно распаковывать файл. ты ничего не выиграешь. 3eJIeHb -- если ты смотрел объяснение, которое дал SpoinT, то там сказано, что MD5 - это алгоритм хэширования. Другими словами - алгоритм одностороннего шифрования. Т.е. данные можно зашифровать, но из зашифрованной строки нельзя получить исходные данные. Сильно упрощая, можно привести такой пример: подсчитав кол-во символов в слове "Test", мы получим 4. Но зная цифру 4, мы не можем узнать, что начальное слово именно "Test". Это и есть хеширование. В приведенном примере, можно подобрать огромное кол-во слов, в которых кол-во символов будет равно 4. В отличии от этого, хеш, получаемый по алгоритму MD5, практически уникален. Т.е. если для слова "Test" MD5 хеш будет равен '0cbc6611f5540bd0809a388dc95a615b', то найти другое слово, которое даст такой-же хеш, практически нереально. Это св-во и применяется для хранения паролей. Например: Твоя программа имеет пароль "Test". Но сам пароль в программе ты не хранишь. В программе есть только хеш ('0cbc6611f5540bd0809a388dc95a615b'). Ты просишь пользователя ввести пароль. Из введенного слова ты получаешь хеш и сравниваешь его с хешем правильного пароля ('0cbc6611f5540bd0809a388dc95a615b'). Если они не совпадают, значит пользователь ввел неправильный пароль. Фишка в том, что программа не знает, что правильный пароль именно "Test". Но по хешу она может определить, когда будет введен правильный. В инно для получения MD5-хеша используется функция GetMD5OfString. Kindly -- я как про хеш увидел, так аж ностальгией повеяло Добавлено: Pacifist -- кстати, в примере, который я привел есть неточность. Перед перемещением надо удалить файл-пустышку. Иначе RenameFile не сработает. Но общий принцип думаю понятен. | Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 18:49 10-08-2007 | Исправлено: Genri, 18:52 10-08-2007 |
|