encryption – How to securely encrypt shared data for a dynamic amount of users?

You can use a simple symmetric encryption, like ChaCha20-poly1305, to encrypt the data with a key derived from the password, using Argon2id for example.

The key, encoded in base64url, can be appended by the client to the link as a URL fragment. The server (and its administrator) does not need to know the password or the key: the encryption should be entirely done by the client, for example in Javascript if the client is in HTML. If you want to append the key as a URL query, you should take care that the server does not read, process or log it.

The service MEGA is using a similar approach. This just an example of an implementation and not an endorsement of this particular service.