code: def hash_args(*args, **kwargs):
      
      arg_string = '_'.join([str(arg) for arg in args])
      kwarg_string = '_'.join([str(key) + '=' + str(value)
                               for key, value in iteritems(kwargs)])
      combined = ':'.join([arg_string, kwarg_string])
  
      hasher = md5()
      hasher.update(b(combined))
      return hasher.hexdigest()
docs: Define a unique string for any set of representable args.