Добрый день. Имеется база изображений на диске, каждому нужно дать уникальное имя, да так, чтобы без запросов к бд. Задача вполне стандартная, только вот все почему-то пишут про неустойчивость гпсч, про уникальность никто не писал. А для меня вариант, где повторное значение может вылезти с 0.0001% долей вероятности не устраивает. Смотрю доки по поводу функции uniqid:
"Получает уникальный идентификатор с префиксом, основанный на текущем времени в микросекундах. ". И что за время не понятно. Толи в пределах одного дня, то ли с начала 1970.
Поэтому два вопроса:
1. Функция возвращает количество миллисекунд с начала дня, то есть 1000 * 60 * 60 * 24 значений?
2. Возможно ли, если код запускается на неимоверно мощной машине, то два значения могут сгенерироваться в одну и ту же миллисекунду?
Если первое правда, то выходом будет добавить текущий день в качестве префикса и для красоты захешить?
Если второе тоже верно, то выходит нужно добавлять энтропии? Просвятите, пожалуйста. Что-то в последнее время начал уставать от всяких нюансов программирования.