Sounds like you need a modified version of a hashmap. A hashmap satisifes these two of your requirements:
1) typical search queries are not possible (so nobody should be able to search the table)
2) only a person/user that knows the key can access the stored data
You can make typical search queries virtually impossible by having a large key with a flood-safe hash function like SipHash (used by default in
std::collections::HashMap) or something like Murmurhash3 (used by Oracle). The virtual impossibility arises due to the fact that you will need an exact hasher-output to get the n-th index. 128-bit hashers might do the job, although, you may need to write a custom hasher depending on your desired outcome.
As for requirement 3...
3) access to data only supports get & update functions
get as well as
get_mut (which allows for an update or replacement by dereferencing the mutable reference obtained from
There are plenty of hashers in crates.io that will do what you need and more.
There are many ways to accomplish what you want, but all it'l take is some creativity