Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.08.09;
Скачать: [xml.tar.bz2];

Вниз

Алгоритмы хеширования   Найти похожие ветки 

 
{RASkov} ©   (2009-06-08 22:15) [0]

Сбственно никак не найду алгоритм MD4 на делфи.
Но вопрос вот в чем. Нужна любая хеш функция, хоть на скорую руку придуманная.
Особого от нее ничего не нужно, главное скорость работы(нужно быстро).
Хеш нужен от строк ShortString. Всякие навороченные MD5, и иже с ними, думаю не рационально.
А вот свой алгоритм придумать - слабо :(
Из всех стандартных самый быстрый вроде MD4, но вот никак не могу найти его реализацию на делфи.
Или подскажите простой алгоритм хэширования коротких строк.


 
Игорь Шевченко ©   (2009-06-08 22:17) [1]

взять любую готовую реализацию MD5 и не мучиться.

на скорую руку - CRC16


 
Медвежонок Пятачок ©   (2009-06-08 22:21) [2]

на скорую руку - криптоапи и md5, sha, sha1, etc

CryptAcquireContext
CryptCreateHash
CryptHashData
CryptDestroyHash


 
Медвежонок Пятачок ©   (2009-06-08 22:36) [3]

в том числе ms base csp содержит реализацию мд2,мд4


 
{RASkov} ©   (2009-06-08 22:39) [4]

> [1] Игорь Шевченко ©   (08.06.09 22:17)
> взять любую готовую реализацию MD5 и не мучиться

Это есть... Есть и некоторые другие из перечисленных выше, а вот MD4 нет.
Ну раз нет, то и фик с ними.... буду МД5 тогда использовать...

Собственно нужно генерить названия секций для ИНИ файла
нечто так:
[хеш от DIR ниже]
DIR=C:\Windows\Font
File1=name1.ttf
File2=name2.ttf
File3=name3.ttf
...и т.д.


 
Медвежонок Пятачок ©   (2009-06-08 22:42) [5]

да все там есть. надо просто ездить на готовом велосипеде, а не искать такой же, но  с перламутровыми пуговицами


 
{RASkov} ©   (2009-06-08 22:44) [6]

> [2] Медвежонок Пятачок ©   (08.06.09 22:21)

слишком это как-то сложно для нужного мне результата :)
Спасибо, конечно, за помощь, но думаю не стоит влазить в такие дебри, а использовать имеющийся у меня модуль MD5.pas. При его uses все это(нужное мне) достигается одной строчкой)


 
{RASkov} ©   (2009-06-08 22:45) [7]

> [5] Медвежонок Пятачок ©   (08.06.09 22:42)

Стандартное виндовое API? Если да, то сложно это для моих целей)


 
Медвежонок Пятачок ©   (2009-06-08 22:47) [8]

ну не знаю. я лично не вижу причин для линковки лишних килобайт этого паса с кучей таблиц перестановок.


 
Медвежонок Пятачок ©   (2009-06-08 22:49) [9]

чего сложно? написать за пять минут прототипы четырех простых апи-функций?
вас художников не поймешь ....


 
{RASkov} ©   (2009-06-08 22:53) [10]

> [8] Медвежонок Пятачок ©   (08.06.09 22:47)

тоже верно..... но я уже весь вечер убил на поиски быстрого алгоритма хеширования строк на делфи. В итоге вышел на MD4 и еще кучу времени убил на его поиски... Уже и голова толком от этого не соображает. Поэтому у меня есть три варианта:
1 - написать с использованием МД5
2 - лечь спать а потом 1 либо написать с использованием МД5, 2 либо потратить еще кучу времени на поиски использования этого АПИ
3 - (маловероятный) получить тут какую-то инфу по использованию второго варианта, второй его части :)


 
antonn ©   (2009-06-08 22:54) [11]


> ну не знаю. я лично не вижу причин для линковки лишних килобайт
> этого паса с кучей таблиц перестановок.

самодостаточность.


 
{RASkov} ©   (2009-06-08 22:56) [12]

> [9] Медвежонок Пятачок ©   (08.06.09 22:49)
> написать за пять минут прототипы четырех простых апи-функций

Хм... все-то у вас, у музыкантов, так быстро и просто получается :) Куда нам до вас)


 
Медвежонок Пятачок ©   (2009-06-08 22:59) [13]

ну а если завтра мд5 перестанет нравится?
искать паскалевскую реализацию мд2?

самодостаточность.

Какая самодостаточность?
любое делфи и не делфи приложение и так уже зависит от кучи виндовых библиотек.

может и для гетюзернейм найти паскалевскую реализацию для самодостаточности?


 
antonn ©   (2009-06-08 23:01) [14]


> любое делфи и не делфи приложение и так уже зависит от кучи
> виндовых библиотек.

ну давайте еще больше сделаем, чу уж там.
больше звеньев - ниже надежность


 
{RASkov} ©   (2009-06-08 23:02) [15]

> [13] Медвежонок Пятачок ©   (08.06.09 22:59)
> ну а если завтра мд5 перестанет нравится?

Почему завтра? Мне оно уже сегодня не нравится, а куда деваться? :)


 
Медвежонок Пятачок ©   (2009-06-08 23:06) [16]

куда деваться?
всего лишь заменить идентификатор требуемого алгоритма с CALG_MD5 на CALG_MD4 или любой другой по вкусу.

больше звеньев - ниже надежность

вам сама виндус то не жмет?
столько лишних звеньев там, ужос.


 
antonn ©   (2009-06-08 23:09) [17]


> вам сама виндус то не жмет?

в самый раз.
какие там лишние звенья?


 
Медвежонок Пятачок ©   (2009-06-08 23:11) [18]

а вообще мужики не парьтесь, используйте что используете.
то что по итогу именно так и будет, я знал еще не открыв ветку, только название прочитав.
этот вопрос раз в год или чуть чаще стабильно проскакивает на форуме.
и обсуждение каждый раз примерно такое как сейчас.

:)


 
Медвежонок Пятачок ©   (2009-06-08 23:12) [19]

какие там лишние звенья?

ну там гди32.длл, кернел там всякий с юзер32.длл вкупе

стока хламу, жуть.....


 
Медвежонок Пятачок ©   (2009-06-08 23:14) [20]

а виндоус.пас надо вообще стирать сразу после установки делфи.
ибо не по пацански это - вверять свою судьбу в руки лишних звеньев


 
antonn ©   (2009-06-08 23:14) [21]


> стока хламу, жуть.....

и что, если их удалить система и программы в ней будут работать?


 
Медвежонок Пятачок ©   (2009-06-08 23:15) [22]

удали свой виндоус пас


 
Медвежонок Пятачок ©   (2009-06-08 23:16) [23]

или попробуй удали адвапи.длл и запусти виду без лишнего звена


 
antonn ©   (2009-06-08 23:19) [24]


> Медвежонок Пятачок ©   (08.06.09 23:16) [23]
>
> или попробуй удали адвапи.длл и запусти виду без лишнего
> звена

Хочу заметить, что в посте [16] было упомянуто о куче ненужных компонентов, на просьбу перечислить их были названы некоторые, как оказалось если их удалить то система перестанет работать. На мой взгляд тут где то логика хромает, на обе ноги.
пободаемся дальше? :)


 
Медвежонок Пятачок ©   (2009-06-08 23:23) [25]

где логика хромает?
у меня не хромает. хромает у тебя как раз.
удали windows.pas и программируй "самодостаточные" приложения.
но не хочешь же


 
antonn ©   (2009-06-08 23:24) [26]

еще раз перечитываем [16], вопрос был к фразе в нем.
Слив, понятно дело, ну да ладно, не буду заставлять это признавать прилюдно :)


 
Медвежонок Пятачок ©   (2009-06-08 23:25) [27]

ну удали advapi.dll как лишнее звено и запусти винду.
потом ответ напиши из пропатченной винды


 
Медвежонок Пятачок ©   (2009-06-08 23:27) [28]

Слив, понятно дело, ну да ладно

тебе и в самом деле так кажется?


 
antonn ©   (2009-06-08 23:27) [29]


> ну удали advapi.dll как лишнее звено и запусти винду.
> потом ответ напиши из пропатченной винды

не "как", а речь шла о лишних звеньях. А не о том, чтобы удалить нужные.
Более того, под словами "больше звеньев" ниразу не подразумевается "ненужные".


 
Медвежонок Пятачок ©   (2009-06-08 23:29) [30]

ты меня убеди что твой мд5.пас это не лишнее звено, а позарез нужная для самодостаточности штука


 
{RASkov} ©   (2009-06-08 23:34) [31]

Вот тут нашел много инфы
http://www.interface.ru/home.asp?artId=5143
тут и MD2 и MD4 и еще куча всего и есть вроде как описания к

> CryptAcquireContext
> CryptCreateHash
> CryptHashData
> CryptDestroyHash


 
Игорь Шевченко ©   (2009-06-08 23:37) [32]

не секрет, что в винде есть много лишних (на текущий момент и в конкретной конфигурации) файлов, без которых она будет превосходно работать. Беда только в том, что они практически у всех разные.

Как пример - это DLL тех служб, которые по каким-то причинам оставновлены навсегда с момента ввода п^Bсистемы в эксплуатацию.


 
DVM ©   (2009-06-09 00:31) [33]


> {RASkov}

А че бы CRC16...64 не использовать? Алгоритм проще уж некуда.


 
@!!ex ©   (2009-06-09 00:53) [34]

str[i]:=chr(ord(str[i])+(str[length-i+1])+length);


 
{RASkov} ©   (2009-06-09 01:17) [35]

> [33] DVM ©   (09.06.09 00:31)

Вот на CRC32 и остановился...)

Всем спасибо)
Особенно
> [34] @!!ex ©   (09.06.09 00:53)

у меня окончательно крышу снесло :))) все.... спать)


 
DVM ©   (2009-06-09 01:22) [36]


> {RASkov} ©   (09.06.09 01:17) [35]
>
> > [33] DVM ©   (09.06.09 00:31)
>
> Вот на CRC32 и остановился...)

CRC32 их как собак нерезаных разных, вот у меня  тут модулек есть, собрал разные, информацию о каких найти сумел:

http://dvmuratov.narod.ru/crc.pas


 
@!!ex ©   (2009-06-09 01:22) [37]

> [35] {RASkov} ©   (09.06.09 01:17)

Вообще какая цель то приследуется?
Почему ХЭШ?
Уникальность нужна? Хэш этого не гарантирует. Проверка строки на совпадени, зачем это в ini блоке??


 
antonn ©   (2009-06-09 01:27) [38]


> Проверка строки на совпадени, зачем это в ini блоке??

типа guid"а %)


 
{RASkov} ©   (2009-06-09 01:28) [39]

> [36] DVM ©   (09.06.09 01:22)

Спасибо


 
@!!ex ©   (2009-06-09 01:32) [40]

> [38] antonn ©   (09.06.09 01:27)

ну так хэш не гарантирует уникальность...



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2009.08.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.01 c
15-1244183113
Dennis I. Komarov
2009-06-05 10:25
2009.08.09
MS VC++ 2008 EE (или УЮ :) )


11-1205170056
DJ_UZer
2008-03-10 20:27
2009.08.09
Файлы


15-1244700982
Рамиль
2009-06-11 10:16
2009.08.09
Бесплатные менеджеры проектов


4-1213906630
pomashok
2008-06-20 00:17
2009.08.09
Эмулирование нажатия WIN+R


8-1196371243
leonidus
2007-11-30 00:20
2009.08.09
Как отобразить одну картинку на другой?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский