Алгоритм хеширования

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ZeroX
Бывалый
Бывалый
 
Сообщения: 207
Зарегистрирован: 29.04.2003 (Вт) 12:36
Откуда: Мой адрес не дом и не улица, мой адрес Советский Союз

Алгоритм хеширования

Сообщение ZeroX » 07.10.2003 (Вт) 10:12

Народ где достать нормальный аглоритм хеширования для VB - у меня есть, но он хеширует разные строки в одно и тоже.
Заранее спасибо :!: :!: :!:
Каждый warning мечтает стать error'om

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 26.06.2004 (Сб) 12:31

Хешь - это ассоциативный массив. Т.о. хеширование - это что?
Кеширование - это другое.
Я знаю верный путь

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 26.06.2004 (Сб) 13:37

Ассоциативный массив? :| Ты, по-моему, что-то путаешь!

Вот тут алгоритм хеширования MD5 :arrow:
Вложения
MD5.rar
MD5
(2.93 Кб) Скачиваний: 185

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 26.06.2004 (Сб) 13:52

Тада объясни мне что такое хеширование
Я знаю верный путь

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 26.06.2004 (Сб) 14:58

Хеширование - получение с помощью несимметричного алгоритма (это значит, что из хэша уже ничего восстановить нельзя) из чего-либо длинного шестнадцатиричного числа, с целью дальнейшей проверки на правильность: двух одинаковых хешей по своей сути быть не должно. Когда-то и я об этом спрашивал! 8)
Допустим, в программе где-то хранится хэш пароля. При входе в программу ты вводишь пароль, она получает его хэш и смотрит, сходятся ли они. Если да - открыть главную форму, если нет - выйти.

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 26.06.2004 (Сб) 18:44

Панятно. :))
Я знаю верный путь

AndreyG_80
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 169
Зарегистрирован: 10.03.2006 (Пт) 13:27

Сообщение AndreyG_80 » 22.03.2006 (Ср) 16:31

Что-то выложеный алгоритм хеширования генерит один и то же хеш в разных случаях

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 22.03.2006 (Ср) 16:35

хмм. Для выяснения сего факта понадобился 1 год и 9 месяцев?
Я знаю верный путь

AndreyG_80
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 169
Зарегистрирован: 10.03.2006 (Пт) 13:27

Сообщение AndreyG_80 » 22.03.2006 (Ср) 16:41

Может у кого имеется рабочий алгоритм?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 22.03.2006 (Ср) 16:42

Ну так, комп не очень мощный попался. Считал вот, хеш, считал :) Досчитал наконецто :)

AndreyG_80
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 169
Зарегистрирован: 10.03.2006 (Пт) 13:27

Сообщение AndreyG_80 » 22.03.2006 (Ср) 16:57

Да ладно, комп не очень мощный - алгоритм кривой.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 22.03.2006 (Ср) 16:58

Могу выслать рабочий MD5 на JavaScript :)

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 22.03.2006 (Ср) 17:01

AndreyG_80
Код: Выделить всё
Public Function CalculateMD5(strMessage As String) As String

    Dim bytBuffer() As Byte
   
    bytBuffer = MD5StringArray(strMessage)
   
    MD5Start
    MD564Split Len(strPassword), bytBuffer
    MD5Finish
   
    CalculateMD5 = MD5Value
   
End Function

вот эту строку исправь нужным образом: MD564Split Len(strPassword), bytBuffer
strPassword на strMessage

тада всё заработает... алгоритм очень даже прямой! :lol:
On Fatal Error Resume Next

AndreyG_80
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 169
Зарегистрирован: 10.03.2006 (Пт) 13:27

Сообщение AndreyG_80 » 22.03.2006 (Ср) 17:24

Огромное мпасибо Eduard, заработало.

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 22.03.2006 (Ср) 19:24

Если хеш это то что сказал AAZ, что такое Hashtable тогда? :)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 22.03.2006 (Ср) 20:11

Хэш - это то, что сказал AAZ, то есть просто алгоритм для поучения одной строки из другой.
В массивах могут использоваться хэши как ключи, потому что хэш может оказать короче самой строки. Таки ассоциативные массивы, использующие вкачестве ключей к значениям хэши от этих значений иногда называют хэш-массивами.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 17

    TopList