Как получить индекс хеш-таблицы при использовании двойного хеширования и перехеширования в c?

Я написал программу для создания хэш-таблицы с именем пользователя и зашифрованным паролем. При вставке в хеш-таблицу я использую двойную хеш-функцию для получения ключа. У меня есть две хэш-функции. Именно тогда при вызове первой хеш-функции у меня появился индекс. Если он не содержит элементов, я вставляю в этот индекс. Если он содержит данные, я вызываю вторую хеш-функцию для получения индекса. После всех удачных вставок я сохраняю в файл. Затем я использую перефразирование (удвоение размера), чтобы увеличить размер моей хеш-таблицы, когда приходит больше пользователей.

Моя логика - когда я загружаю сервер, он вставляет все данные из файла в хеш-таблицу. Но у меня есть некоторые сомнения. Я использую имя пользователя в качестве ключа для получения индекса. Когда я вставляю все данные из файла в хеш-таблицу, как я могу найти индекс? (Путаница заключается в двойном хешировании.) После вставки я хочу проверить имя пользователя клиента с существующим именем пользователя. Как я могу получить конкретные данные пользователя для этого? (Я не храню никаких ключей к файлу.) Так как я могу получить этот ключ? (Проблема здесь также в двойном хешировании.)

Я хочу сделать это с двойным хэшированием. Я знаю, чтобы получить подробности, когда я использую одну хэш-функцию (передать имя пользователя в качестве ключа для получения индекса). Но я хочу избежать коллизий, используя двойное хеширование. Какие-либо предложения?

0 ответов

Другие вопросы по тегам