Le tabelle hash sono il modo più veloce/migliore per archiviare/recuperare i dati.Come scrivere una funzione di hash in C?
mia comprensione di una tabella di hash, hash è la seguente (Si prega di correggermi se sbaglio o si prega di aggiungere Se c'è qualcosa di più):
- A Table Hash non è altro che una matrice (singolo o multidimensionale) per memorizzare i valori.
- hash è il processo per trovare l'indice/posizione nella matrice di inserire/recuperare i dati. Si prende un elemento dati e lo si passa come una (e) chiave (i) a una funzione hash e si otterrebbe l'indice/posizione in cui inserire/recuperare i dati.
Ho una domanda:
È la funzione di hash utilizzato per memorizzare/recuperare i dati diversi da una funzione di hash crittografico utilizzato in applicazioni di sicurezza per l'autenticazione come MD5, HMAC, SHA-1, ecc ..?
In che modo (s) sono diversi?
- come scrivere una funzione di hash in C?
- C'è qualche standard o linee guida?
- Come garantire che l'output di una funzione di hash i.e, l'indice non sia fuori intervallo?
Sarebbe bello se potessi citare alcuni buoni collegamenti per capirli meglio.
L'intervallo può essere limitato con l'operatore del modulo (%). – tur1ng
La pagina seguente presenta diverse implementazioni di funzioni hash di uso generale implementate in C (e in molte altre lingue): http://partow.net/programming/hashfunctions/index.html –