> Вы что, настолько дятлы что не отличаете хэши используемые как внутренняя функция
> хэш-таблиц от хэшей использыемых для проверки чексум?
> Пиндец. Откуда такие ламаки берутся? Не знают чем одно от другого отличается, зато поумничать уже вылезли.Чексуммирование — частный случай применения хэширования! Хэш на основе CRC32 в ZFS не используется, но используется похожий на него алгоритм "fletcher".
> Ну-ка раскалывайтесь, бастарды, сколько из вас представляет как сделана хэш-таблица?
В общем случае это массив вида "хэш-список значений (ссылки на объект)". Структура данных может быть отсортирована по значению хэша — для быстрого поиска соответствий.
На входе функция получает точное имя объекта, в теле функции производится преобразование имени объекта в хэш, хэш ищется на совпадение в массиве, возвращается сопряжённое с хэшем значение (ссылка на объект). Так как разные имена объектов могут иметь одинаковый хэш (коллизии), то в таблице одному хэшу могут соответствовать несколько значений (несколько ссылок на объекты). В этом случае требуется уточнение, какой именно объект (ссылка) запрашивается, исходя из контекста запроса (текущий каталог, пространство имён и т.д.) — в последнем случае поиск нужного объекта усложняется и приводит к увеличению времени возврата результата. В идеале использования список значений (ссылок) объекта должен состоять из одного элемента, тогда коллизий не возникает и время выполнения функции стремится к O(1).
> И сколько из вас видело SHA-256 в виде функции для хэш-таблиц. Ну? :)
В FreeBSD /etc/login.conf устанавливает функцию SHA-512 для пользовательских паролей:
default:\
:passwd_format=sha512:\
Если интересно, можно глянуть на хэши таких паролей в vipw.