Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: HashCode Добавлено: 12.11.03 13:53  

Автор вопроса:  freeloader  | Web-сайт: freeloader.folder-pro.net | ICQ: 50804884 

Значить у строковых переменных есть такой метод GetHashCode, а как обратно преобразовать из GetHashCode в текст

dim a as string

a="a"

msgbox(a.gethashcode)

\\\А обратно ???

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #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
Автор ответа:
 Magic lantern



ICQ: 1707975 

Вопросов: 8
Ответов: 47
 Web-сайт: lantern.fatal.ru
 Профиль | | #4
Добавлено: 12.11.03 22:27

Гы гы.

Кэшерование - это записывание временных файлов.

К примеру ты посмотрел в инете какую нить картинку и если ты ее еще раз посмотрешь то она опять загружаться не будет (она откроется прямо с твоего компа).

Разумеется если она сохранилась в кэше! ;)

А что такое хэш см.выше! ;)

Только у меня такой вопрос: этот gethashcode возвращает MD5?

Ответить

Номер ответа: 5
Автор ответа:
 Воронков Василий



Вопросов: 1
Ответов: 90
 Профиль | | #5 Добавлено: 12.11.03 22:40
MD5 или SHA1

Ответить

Номер ответа: 6
Автор ответа:
 freeloader



ICQ: 50804884 

Вопросов: 72
Ответов: 642
 Web-сайт: freeloader.folder-pro.net
 Профиль | | #6
Добавлено: 13.11.03 08:49

Спасибо, что разъяснили :))))

Ответить

Номер ответа: 7
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #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 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам