Questa implementazione dell'hash di Murmur produce risultati diversi quando viene chiamata due volte di seguito:
Murmur3 m3 = new Murmur3();
var la = m3.ComputeHash(new byte[] { 1, 2 });
var lb = m3.ComputeHash(new byte[] { 1, 2 });
//la and lb now have different bytes
Da nessuna parte in descrizione di Murmur su wikipedia si dice che l'hash dovrebbe tenere conto dei precedenti valori hash o mantenere / controlla la sequenza di ciò che è stato cancellato.
È un bug in questa implementazione? Ho frainteso l'articolo di Wikipedia? Ho frainteso l'intenzione dell'attore?