Страница: 1 |
Вопрос: HashCode | Добавлено: 12.11.03 13:53 |
Автор вопроса: ![]() |
Значить у строковых переменных есть такой метод GetHashCode, а как обратно преобразовать из GetHashCode в текст dim a as string a="a" msgbox(a.gethashcode) \\\А обратно ??? |
Ответы | Всего ответов: 7 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 12.11.03 16:00 |
Никак. Ты понимаешь, что такое Hash? Hash - понятие из криптографии... Вот, я в одном форуме как-то писал: --- Это из области криптографии. Хеш - это короткое представление данных, которое их однозначно определяет. Зная хэш, практически невозможно получить данные, на основе которых был сделан хэш. Используется, например, при залогинивании юзеров (взять хотя бы авторизацию в POP3 - там хеширование используется, также винда хранит у себя не сами пароли юзеров, а только их хэши), при передаче данных (всем известный CRC). Получить хэш можно с помощью CryptoAPI. В .NET это немного проще - использовать соответствующие классы в пространстве имён System.Security.Cryptography. Подробнее можно ознакомиться в MSDN, а также в умной книжке "Разработка защищённых приложений в среде Visual Basic 6". --- |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 90 |
Профиль | Цитата | #2 | Добавлено: 12.11.03 18:29 |
В общем все это неправильно Хэш-код к криптографии прямого отношения не имеет, а использует в массивах, построенных по принципу бакетов для далеко не однозначного определения элементов внутри массива. Так, совпадения хэш-кодов у слов insect и scient является обязательным условием для работы большинства хэш-алгоритмов - в противном случае никакой эффективности при поиске достигнуто не будет. А криптоАПИ - это совсем из другой области.. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 90 |
Профиль | Цитата | #3 | Добавлено: 12.11.03 18:31 |
Ой, только что заметил. Ты, оказывается, считаешь, что кеширование и хэш-код - это одно и то же |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 1707975 Вопросов: 8 Ответов: 47 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 12.11.03 22:27 |
Гы гы. Кэшерование - это записывание временных файлов. К примеру ты посмотрел в инете какую нить картинку и если ты ее еще раз посмотрешь то она опять загружаться не будет (она откроется прямо с твоего компа). Разумеется если она сохранилась в кэше! А что такое хэш см.выше! Только у меня такой вопрос: этот gethashcode возвращает MD5? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 1 Ответов: 90 |
Профиль | Цитата | #5 | Добавлено: 12.11.03 22:40 |
MD5 или SHA1 |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 50804884 Вопросов: 72 Ответов: 642 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 13.11.03 08:49 |
Спасибо, что разъяснили |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 13.11.03 11:12 |
Воронков Василий, а где я хоть слово про кеширование написал? Я тут интереса ради глянул в MSDN... Оказывается, GetHashCode должен быть переопределён объектами, которые могут помещаться в HashTable в качестве ключа. This method can be overridden by a derived class. Value classes must override this method to provide a hash function that is appropriate for the class and that ensures a better distribution in the hash table. Classes that might be used as a key in a hash table must also override this method, because objects that are used as keys in a hash table are required to generate their own hash code through this method. However, if the objects that are used as keys do not provide a useful implementation of GetHashCode, you can provide a different hash code provider, that is based on the System.Collections.IHashCodeProvider interface, when the Hashtable is constructed. А вот если на эту строчку глянуть: If two objects of the same type represent the same value, the hash function must return the same constant value for either object. то это очень похоже на тот хэш, который в криптографии! И смысл один и тот же. |
Страница: 1 |
|