Funzione hash per modifiche progressive

0

Sto cercando un algoritmo di hashing che funzioni in questo modo. Comincio con un file di testo e computo il suo hash. Ora so che rimuoverò un personaggio alla posizione 67, e questo è una "m", e vorrei calcolare il nuovo hash senza riapplicare la funzione di hash al testo completo, ma usando l'hash del full text e la consapevolezza che ho rimosso 'm' dalla posizione 67. Se avessi letto la "m" nello stesso posto, ricomincerei di nuovo con la stessa metodologia e avrei ottenuto lo stesso hash iniziale.

Qual è il nome tecnico di tali funzioni hash, in modo da poter cercare alcuni indicatori in giro? un CRC non è ciò di cui ho bisogno immagino, perché (afaik) un CRC funziona su un'aggiunta di stream, non su cambiamenti arbitrari attraverso i dati iniziali.

    
posta Stefano Borini 17.07.2014 - 18:44
fonte

1 risposta

1

Una strategia "Divide and Conquer" funzionerebbe bene qui. Invece di eseguire l'hashing dell'intero file, porzioni di hash del file, mantenendo una serie di hash per rilevare le modifiche. Il modo più semplice per farlo sarebbe mantenere un hash per ogni riga di testo.

    
risposta data 17.07.2014 - 19:14
fonte

Leggi altre domande sui tag