Quale struttura dati sarebbe la scelta migliore per una mappatura bidirezionale veloce e performante da SHA-1 a SHA-3? O in altre parole stringa a lunghezza fissa per mappatura stringa fissa?
Per essere più precisi:
- Esiste un insieme di dati (che potrebbero contare in mega-oggetti), su ciascuno dei quali viene preso l'hash SHA-1 e SHA-3
- Per il dato SHA-1 vogliamo sapere se esiste un oggetto (dati) e la sua funzione hash SHA-3
- Per il dato SHA-3 vogliamo sapere se esiste un oggetto (dati) e la sua funzione hash SHA-1
Il set di dati non è immutabile, ma si può presumere che verranno aggiunti solo nuovi dati.
La cosa più importante è la query veloce e il sovraccarico; la modifica potrebbe essere più lenta. Sarebbe bello se potesse eseguire aggiornamenti senza blocco. Gli aggiornamenti (solo append) sono molto più rari delle query e devono essere eseguiti solo al di sotto del tempo di reazione umano.
Sfondo : una delle proposte per spostare Git lontano da SHA-1 richiede SHA-1 veloce a SHA-3 (o qualsiasi hash scelto per sostituire SHA-1 rotto).
Vedi qui: RFC: un altro piano di transizione della funzione hash proposto