Я создаю службу сокращения ссылок, и я использую кодировку/декодирование base64 поля с добавленным идентификатором для создания моих URL-адресов. URL с идентификатором "6": http://mysite.com/Ng==
Мне также нужно разрешить пользователям создавать настраиваемое имя URL-адреса, например http://mysite.com/music
Вот мой (возможно, ошибочный) подход. Помочь в ее исправлении было бы полезно.
Когда кто-то создает новую ссылку:
- Я получаю самый большой идентификатор ссылки из базы данных (он не увеличивается автоматически)
- Увеличение идентификатора на 1
- Создайте короткий URL-код (http://website.com/[short url name]) с помощью base64_encoding, что ID
- Вставить в таблицу ссылок: id, short_url_code, destination_url
Когда кто-то создает новую ссылку и передает собственный короткий URL-адрес:
- Мой план был base64_decode своей пользовательской строкой и использовал это как идентификатор ссылки, но я не понимал, что вы не можете просто base64_decode любую буквенно-цифровую строку и превратить ее в число.
Есть ли лучший метод кодирования, который позволит мне превратить любое число в короткую строку и любую строку в число, поэтому я всегда могу найти короткие URL-адреса (независимо от того, был ли пользователь или автогенерирован), превратив имя в число и запрос для ссылки с идентификатором, равным этому числу?