Myslím, že vaše představa hashtable je trochu [zaniklá]. Hashtables rozděluje klíče do seznamů, které jsou podobné. Například:hashtable na základě prvního písmene jména, takže by bylo 26 seznamů. Váš hash je první písmeno jména, které pak usnadňuje vyhledávání.
md5, sha1 se používají k odvození hodnot hash, které se používají k ověření, že data nebyla zmanipulována. obvykle přicházejí ve 128bitové nebo 160bitové verzi. Takže to vezme X dat a pošle je přes hash, aby se vytvořil 128bitový alfanumerický řetězec, který by měl být stejný bez ohledu na to, kde se to dělá. Obvykle se jedná o bezpečnostní záležitost.
UPRAVIT: Rozšiřujeme otázku, jak odvodit klíče.
Můžete použít modul dat k vytvoření klíče, který se použije pro řádek. V příkladu data % X, kde X je celkový počet klíčů, které byste chtěli mít. Problém je v tom, že X je obtížné najít; pokud máte 20 položek, je možné vytvořit z X 20 a umožňuje rychlé vyhledávání, protože každá položka má svůj vlastní řádek. Ale pokud máte 1000 položek, pak udělat % 1000 NENÍ proveditelné. Udělat něco jako X =75 by fungovalo lépe.