Cuál es la mejor manera de generar una clave aleatoria dentro de PHP?

Estoy buscando crear una función reutilizable que genere una clave aleatoria con caracteres ACSII imprimibles de la longitud elegida (entre 2 y 1000+). Estoy pensando que los caracteres ASCII imprimibles serían 33-126. La clave no necesita ser completamente única, solo única si se genera exactamente en el mismo milisegundo (entoncesuniqid() no funcionará).

Estoy pensando en una combinación dechr() ymt_rand() Podría funcionar

Es este el camino a seguir o es el mejor métod

Editar uniqid() tampoco funcionará porque no tiene un parámetro de longitud, es todo lo que PHP te da.

Mi ide: Esto es lo que se me ocurrió:

function GenerateKey($length = 16) {
    $key = '';

    for($i = 0; $i < $length; $i ++) {
        $key .= chr(mt_rand(33, 126));
    }

    return $key;
}

¿Hay algún problema con esto?

Otra Edición: La mayoría de las otras preguntas se refieren a la generación de contraseñas. Quiero una variedad más amplia de personajes y no me importa1 vsl. Quiero que sea posible el número máximo de claves posibles.

Nota: la clave generada no necesariamente tiene que ser criptográficamente segura.

Respuestas a la pregunta(8)

Su respuesta a la pregunta