hash together multiple objects of any type*
Arguments are serialized and then hashed together using the MurmurHash3 algorithm for efficient memory usage (small sized hashes), speed and random distribution.
If you're looking for a full hashmap implementation check out dependent module superhash
$ npm install multikey-hash
var mkhash = require('multikey-hash');
mkhash(5, 'afuh08h3sfasfs40n340unfe0ruhn0unerf0u', function test(){console.log(test);});
// 3717699652 <-- generated hash
Any non primitive keys are tokenized, not serialized. This is done for speed and space efficiencies. As a result, the generated hash is only useful within the same process. Any hash generated in one process will not be consistent with a hash generated by the same non-primitive keys in another process. In other words: don't persist the hash for later use unless the keys are primitive (String, Number, Boolean, undefined, null).
Any primitive or mutable object can be used as a key.