Birden çok veri bloğu karmalarını bağımsız olarak hesaplamalıyım. Böyle bir şey:HashAlgorithm.ComputeHash() durum bilgisi nedir?
using(HashAlgorithm hasher = new ActualHashAlgorithm()) {
for(int i = 0; i = numberOfBlocks; i++) {
byte[] block = getBlock(i);
byte[] hash = hasher.ComputeHash(block);
// use hash
}
}
Ben bloklar arasında aynı HashAlgorithm
nesnesi de kullanabilir miyim? HashAlgorithm
, ComputeHash()
çağrıları arasında durumu sıfırlayacak mı yoksa HashAlgorithm
nesnesini atmalı ve her yeni veri bloğu için yeni bir tane mi oluşturmalıyım? ComputeHash
kullanma
ben 'Object.GetHashCode()' kalıcı karmaları oluşturmak için kullanılmamalıdır kullanarak size katılıyorum. Bununla birlikte, "SHA256" gibi "System.Security.Cryptography" ad alanındaki iyi belgelenmiş karma algoritmaların kullanılması, uyardığınız sorunlara yol açmayacaktır. –