code: def _get_virtualenv_hash(self, name):
          
  
          def get_name(name, location):
              name = self._sanitize(name)
              hash = hashlib.sha256(location.encode()).digest()[:6]
              encoded_hash = base64.urlsafe_b64encode(hash).decode()
              return name, encoded_hash[:8]
  
          clean_name, encoded_hash = get_name(name, self.pipfile_location)
          venv_name = "{0}-{1}".format(clean_name, encoded_hash)
  
          # This should work most of the time for
          #   Case-sensitive filesystems,
          #   In-project venv
          #   "Proper" path casing (on non-case-sensitive filesystems).
          if (
              not fnmatch.fnmatch("A", "a")
              or self.is_venv_in_project()
              or get_workon_home().joinpath(venv_name).exists()
          ):
              return clean_name, encoded_hash
  
          # Check for different capitalization of the same project.
          for path in get_workon_home().iterdir():
              if not is_virtual_environment(path):
                  continue
              try:
                  env_name, hash_ = path.name.rsplit("-", 1)
              except ValueError:
                  continue
              if len(hash_) != 8 or env_name.lower() != name.lower():
                  continue
              return get_name(env_name, self.pipfile_location.replace(name, env_name))
  
          # Use the default if no matching env exists.
          return clean_name, encoded_hash
docs: Get the name of the virtualenv adjusted for windows if needed
  
          Returns (name, encoded_hash)