Beispiel #1
0
        public bool Contains(byte[] data)
        {
            var hash   = _hasher.ComputeHash(data);
            var target = Data256Bit.FromBytes(hash);

            return(_hashSets.Any(h => h.Contains(target)));
        }
Beispiel #2
0
        public void AddHash(byte[] data)
        {
            var hash = _hasher.ComputeHash(data);
            var item = Data256Bit.FromBytes(hash);

            _hashSets[_increment].Add(item);
            _increment++;
            _increment %= 16;
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        protected Data256Bit GetHashObject(byte[] data)
        {
            var hash = ComputeHash(data);

            return(Data256Bit.FromBytes(hash));
        }