Es una subcadena de base64 codificada random_bytes menos segura que solo usando random_bytes

0
$bytes = random_bytes(15);
$encoded = base64_encode($bytes);
$output = substr($encoded, 0, 15);

¿Este código afecta la complejidad de la salida en comparación con solo usar

$output = random_bytes(15);

Creo que podría ser porque a en base64 es YQ== y eso es más letras Si la afecta, por favor, dime por cuánto

    
pregunta OfficialNoob 24.06.2018 - 19:31
fuente

1 respuesta

2

Si tiene 15 bytes aleatorios y los codifica como base64, obtendrá 20 bytes ya que base64 codifica 3 bytes en 4 caracteres. Si luego toma solo los primeros 15 bytes de la codificación de 20 bytes, por lo tanto, use solo 3/4 de los 15 bytes originales, es decir, 11.25 bytes, o 90 bits. Estos 90 bits son definitivamente menores que los 120 bits originales (15 * 8). Cómo afecta esto a la seguridad depende de su caso de uso específico (desconocido).

    
respondido por el Steffen Ullrich 24.06.2018 - 19:42
fuente

Lea otras preguntas en las etiquetas