Мисля, че идеята ви за хеш-таблица е малко [несъществуваща]. Хеш-таблиците разбиват ключовете в списъци, които са еднакви. Например:хеш-таблица въз основа на първата буква на името, така че ще има 26 списъка. Вашият хеш е първата буква на името, което след това прави търсенето по-бързо.
md5, sha1 се използват за извличане на хешове, които се използват за проверка, че данните не са били подправени. те обикновено се предлагат в 128-битови или 160-битови версии. Така че той взема X данни и ги изпраща чрез хеш, за да се получи 128-битов буквено-цифров низ, който трябва да бъде един и същ, независимо къде се прави. Обикновено това е нещо, свързано със сигурността.
РЕДАКТИРАНЕ: Разширяване на Въпрос за извличане на ключове.
Можете да използвате модул на данните, за да създадете ключ, който да използвате за реда. В примерните данни % X, където X е общият брой ключове, които искате да имате. Проблемът с това е, че X е трудно да се намери; ако имате 20 елемента, тогава превръщането на X в 20 е възможно и го прави бързо търсене, тъй като всеки елемент има свой собствен ред. Но ако имате 1000 артикула, тогава да направите % 1000 НЕ е възможно. Ако направите нещо като X =75, би било по-добре за това.