|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||||||
Как захешировать структуру, содержащую ip-адрес и порт?04.10.2011, 21:51. Показов 2240. Ответов 19
Метки нет (Все метки)
Добрый вечер всем.
Есть некая структура в упрошенном виде:
Поиски говорят, что народ для похожих целей в основном использует вариации jhash от Bob Jenkins Может кто-нибудь посоветует что-то другое?
0
|
||||||
| 04.10.2011, 21:51 | |
|
Ответы с готовыми решениями:
19
Как узнать адрес и порт моего хостинга? Как отследить адрес подключения на определённый порт? |
|
|
|
| 04.10.2011, 23:59 | |
|
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 05.10.2011, 00:20 [ТС] | ||
|
niXman, это ж вроде FNV или я что-то попутал?
Если он, то не катит. Добавлено через 2 минуты
0
|
||
|
|
|
| 05.10.2011, 00:49 | |
|
хотя нет... запутался. ща.
Добавлено через 22 минуты по заявлению стандарта, std::hash инклюдится через functional. и правда, но реализация находится в bits/functional_hash.h (см. строку 59) что мы тут видим... кучу специализация для тривиальных типов, а самое интересное начинается со строки 127. где реализован _Hash_impl и _Fnv_hash_impl. второй, по идее, именно FNV хеш. тебе оно не надо. значит смотрим _Hash_impl. видно, что реализация хеширования вынесена в функцию _Hash_bytes. где же эта функция?.... а, вот она! судя по коментам, используется алгоритм Murmur. (забавное название) зы собственно я никогда напрямую не юзал std::hash, но частенько ловил себя на мысле что разобраться нужно, т.к. это позволит избавиться от еще одного велосипеда ![]() разобрался. Добавлено через 5 минут осталось понять как все это дело применить к твоей задаче) терпение...
1
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 05.10.2011, 00:49 [ТС] | |
|
niXman, спасибо.
MurmurHash3 я рассматривал, мне нравиться, но смущает что например во всех ядрах юзают JHash. Я наверное плохо сформулировал вопрос. Я не прошу найти мне какую-нибудь хэш ф-цию, я прошу так сказать поделиться личным опытом. Наверняка я тут не первый кому понадобилось хэшировать пары адрес:порт
0
|
|
|
|
||||||
| 05.10.2011, 01:45 | ||||||
|
ну не знаю.. по хешированию адрес:порт я вряд ли что умное скажу.
Добавлено через 45 минут может кому сгодится:
2
|
||||||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 05.10.2011, 09:31 [ТС] | |
|
Угумс, впечатляет. И становиться еще не понятней почему в сетевом коде ядер и на линуксе и на бсд используют JHash.
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 05.10.2011, 10:40 [ТС] | ||
|
Public domain - лучше не бывает)
Добавлено через 29 минут Кажется нашел почему не хотят в ядра: David Miller:
0
|
||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 06.10.2011, 02:01 | ||
"127.0.0.1:123;127.0.0.1:456"
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 06.10.2011, 10:36 [ТС] | ||
|
Что это даст? Ну не понимаю я чем строка может быть лучше. Чем? Какую хэш ф-цию то посоветуете. PS: пока сделал прототип с JHash и протестировал пару /8 сетей за вычетом бродкаст и мультикаст адресов - работает, была 1 коллизия.
0
|
||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||
| 06.10.2011, 10:45 | |||
0
|
|||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 06.10.2011, 10:56 [ТС] | ||
|
А профит то в чем? Затраты на перевод есть, а хорошей (speed/avalanche/collisions) хэш ф-ции которой не все равно строка или байты как бы и нет... Точнее есть, но с короткими строками не дружат.
0
|
||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 06.10.2011, 11:15 | ||
0
|
||
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 06.10.2011, 11:24 [ТС] | ||
|
В хэш идет 48/144 бита на адрес.
0
|
||
|
725 / 224 / 73
Регистрация: 01.03.2011
Сообщений: 643
|
|
| 06.10.2011, 14:26 | |
|
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 06.10.2011, 14:31 [ТС] | |
|
Например вариация Murmur от гугла CityHash
1
|
|
| 06.10.2011, 14:31 | |
|
Помогаю со студенческими работами здесь
20
Как обратиться к экземпляру класса содержащую структуру с конструктором? Как перенаправить соединение на порт на другой адрес в iptables? Как узнать системные настройки прокси (IP-адрес, порт)? Как правильно сохранить структуру, унаследованную от структуры, содержащую виртуальный деструктор?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|