Cita de: MiguelCanellas en 14 Diciembre 2019, 19:12 PM
Por ahí la función que me mandaste que dijiste que es más sencilla capaz hace lo mismo la verdad nose no estoy muy familiarizado con eso xD
Creo que la función que te recomende es mejor incluso se podría utilizar la función random_bytes en lugar de la función openssl_random_pseudo_bytes.
La principal idea de genera un código de "seguridad" es que no pueda ser adivinable.
En función los valores que son tomados de la fecha son calculables año, mes dia, hora minuto y segundo son calculables, posteriormente los únicos valores random que tienes es el numero de de 6 dígitos que va del 100 mil al 999,999 adicional eso los otros 2 valores que van de la A a Z.
Si es difícil adivinarlo, pero puede se puede mas o menos predecir su valor original. En cambio si obtienes X cantidad de bytes al azar, digamos 16 bytes al azar.
El numero de posibilidades es
Código [Seleccionar]
255 *255*255 *255*255 *255*255 *255*255 *255*255 *255*255 *255*255 *255
Ahora en el ejemplo que te puse, indique que se podrían tomar 1024 bytes, sin embargo si viste el post que publique, el debate fue solo utilizar 16 o 32 bytes en la función.
Totalmente impredecible.
Código (php) [Seleccionar]
<?php
function Create_Code()
{
return hash("sha256",random_bytes(32));
}
?>
Aplicamos la función hash sha256 a eso datos binarios y listo ya tenemos nuestro string.
Saludos