A hashing structure including multiple sub-hashes is used to determine
whether an input value matches one or more of multiple target values.
These values can be of any form, such as security identifiers in an
access control system. To make the determination, a hash key is obtained
from the input value and multiple sub-hash indexes (one for each of the
multiple sub-hashes) are generated based on the key. Values are
identified from the multiple sub-hashes by indexing into the sub-hashes
using respective ones of the sub-hash indexes. These values are then
combined to generate a resultant hash value. Each of the multiple target
values corresponds to one of multiple portions of the resultant hash
value. If the portion corresponding to one of the target values has a
particular value, then that target value is a likely match and is
compared to the input value to determine if indeed the two match. This
comparison can then be repeated for each target value with a
corresponding portion in the resultant hash value that has the particular
value.