public bool Contains(byte[] data) { var hash = _hasher.ComputeHash(data); var target = Data256Bit.FromBytes(hash); return(_hashSets.Any(h => h.Contains(target))); }
public void AddHash(byte[] data) { var hash = _hasher.ComputeHash(data); var item = Data256Bit.FromBytes(hash); _hashSets[_increment].Add(item); _increment++; _increment %= 16; }
public ArrayHashLookup(int size) { size /= BucketCount; _objects = new Data256Bit[BucketCount][]; _offsets = new int[BucketCount]; for (var i = 0; i < BucketCount; i++) { _objects[i] = new Data256Bit[size + 1]; } _bucketCounter = 0; }
protected Data256Bit GetHashObject(byte[] data) { var hash = ComputeHash(data); return(Data256Bit.FromBytes(hash)); }