Password random en php

Hace un par de años tuve que comenzar a generar claves aleatorias para algunos sistemas de registro de usuarios seguros y captchas en los que he trabajado. He utilizado varias fórmulas, pero hasta ahora la que considero más acabada y elegante es esta:

$claves = array_flip(array_merge(range(’a’,’z’),range(’A’,’Z’),range(0,9)));
$password = implode(“”,array_rand($claves, 6));

No necesita mucha explicación, pero lo que hace es generar tres arrays, uno de la “a” a la “z” en minúscula, otro en mayúscula y el tercero, del “0” al “9”.  Luego unimos los arrays en uno gracias a array_merge, y con array_flip intercambiamos “keys” por “values“. En la segunda línea generamos un nuevo array compuesto por 6 “keys” aleatorias y, finalmente, obtenemos nuestra password random con el implode que nos devuelve un string de 6 dígitos.

Referencia
Generador de Password Aleatorios