Generar cadenas semi-aleatorias con PHP

Una forma fácil y relativamente segura de generar cadenas semi-aleatorias con PHP:

Algunas notas:

  • Depende de que esté instalada la extensión de OpenSSL, que por lo general ya está disponible. Por ahí mencionan que tiene algunos problemas de performance en Windows… o sea que si estás usando un servidor con Windows, sería uno más de tus problemas :-P
  • Al generar la cadena de bytes es posible chequear si se hace de modo “criptográficamente fuerte”, pasando una segunda variable que será definida como booleano.
  • En circunstancias normales, el output de openssl_random_pseudo_bytes() es suficientemente aleatorio, pero para aplicaciones específicas donde la seguridad es clave siempre conviene buscar y utilizar librerías más estudiadas y probadas que cualquier solución que uno mismo pudiera implementar.