uniqid() - нормальный способ генерации уникальной строки?
или лучше генерировать рандомною строку и затем ее хэшировать?
в чужом коде в основном встречаю второй способ.
i_want_to_know_everything: Ничто конечное не является на 100% уникальным. Но uniqid(), особенно, если с параметром генерации более длинного значения будет более уникальным, нежели rand.
Если нужно ещё больше - смотрите в сторону 16-байтных UUID.