Можно хранить в сессии массив всех записей и проверять их наличие соответственно, чтобы избежать дубликатов. Но этот вариант очень кривой и обычно так не делают
- Создать таблицу в БД под нужные данные
- Парсить сайт по таймауту (cron) с проверкой уже добавленных значений
- Выводить у себя в каком-угодно виде с помощью ajax или без
Может, конечно. Но тогда как они генерируются? Случайным образом - не реально, при больших количествах (а imgur.com - это миллионы) хэши слишком часто будут повторяться, что создаст нагрузку на сервер, я уверен, там все продумано.
Ну здесь используется тот же алгоритм, что я указал в первом сообщении.
Читайте внимательнее, пожалуйста.
Ах да, я забыл уточнить, что встречаются и варианты с "непоследовательной" генерацией хешей. Вот тут человек предлагает хранить в базе еще и какое-нибудь случайное число и на его основе генерировать ссылку.
Но меня такой вариант не устраивает, я уверен в существовании более "чистого" решения.
По сути задача довольно проста - получить из id хеш из букв и цифр так, чтобы выполнялись 2 условия:
- хеш должен быть уникальный для каждого id
- зная хеш для конкретного id, нельзя было бы вычислить хеш для id+1 или id-1
Всем привет! Многие из вас, конечно, видели сайты типа bit.ly, tinyurl.com, goo.gl, которые позволяют укарачивать ссылки, с помощью уникального хеша.
Меня заинтересовало, как можно сделать подобный укорачиватель.
В интернете множество тем по данному вопросу. http://habrahabr[dot]ru/qa/4007/
Самым популярным является вариант перевода в другую систему счисления. Вот пример, который использует flickr
Это все, конечно хорошо, но ссылки такого вида очень легко предсказуемы.
Мне же необходимо, чтобы каждая ссылка состояла из 4х символов минимум, и не имела ничего общего с предыдущей.
Как, скажем, на imgur.com