code: def gen_key(self, key):
          
          b_key = self._hash_digest(key)
          return self._hash_val(b_key, lambda x: x)
docs: Given a string key it returns a long value,
          this long value represents a place on the hash ring.
  
          md5 is currently used because it mixes well.