Fluffypoopo making encryption doesn't mean that someone can't crack it as far as i know of storing the key somewhere else just deters a few people plus the people who are interested in what you are doing could also reverse engineer what your doing... bottom line is you'd be better off not trying to overcomplicate it and obfuscate it, keyValue requests already take enough time as it is, if it's encrypted you have to decrypt it and recrypt it each time a message is sent which is a huge hit to your actual performance just try to keep in mind when you do decide to add something like this also people can decompile your library and figure out how the key generator works as well... don't know who'd go through the effort though but you can bet a small % that someone will also, implementing a checking system like that is like basically asking for a performance hit unless your going to check it almost every frame it won't matter, plus if your smart about it you can change all 3 tables at once all it requires is a little do diligence, plus if you didn't know you can just remove all the values from the project rendering your method useless unfortunately