You have the following criteria:
If multiple users enter the same URL, they can get the same shortened URL, which is not acceptable.
Why is it not acceptable? If they hand typed the same longer URL, they would also get to the same place. I’m unclear why that would be a bad thing? The URL itself is not a secret nor do I understand the need for it to be?
Or is this simply an arbitrary boundary being set to help create the question?