Quanti possibili sali generati casualmente potrebbero essere generati usando la funzione password_hash () di PHP?

1

Ho due domande qui:

1) Quanti possibili sali generati casualmente potrebbero essere generati usando la funzione password_hash() di PHP?

2) Secondo php.net indica che il valore di ritorno è a contiene " l'algoritmo utilizzato, il costo e il sale vengono restituiti come parte dell'hash "e presumo l'hash stesso. Quindi dalla mia comprensione in una stringa restituita di $2y$10$x27FUiXA/hFKjD7NDxyD6e63ac4gmCkTqXRpmy1Rk.MxXAqRd8yO6 il 2y indica l'algoritmo, il 10 indica il costo, ma quali caratteri indicano il sale e quali caratteri indicano l'hash?

    
posta kojow7 02.04.2016 - 00:21
fonte

1 risposta

3

1) Il sale per password_hash() è un sale a 128 bit che è il primo 22 caratteri di base64 dopo il fattore di costo. Nel tuo esempio, il sale sarebbe x27FUiXA/hFKjD7NDxyD6e . Poiché è a 128 bit, puoi calcolare il numero di potenziali sali come 2 ^ 128 che è 3.4028237e+38 . Quindi, in breve, molto.

2) Beh, questa non sembra una domanda quindi proverò a rispondere alla parte "che indica i caratteri dell'hash". Gli hash sono i restanti 31 caratteri dopo il sale. Nel tuo caso 63ac4gmCkTqXRpmy1Rk.MxXAqRd8yO6 .

(inoltre, la tua comprensione è corretta. 2y è l'algoritmo e 10 è il costo.)

È importante notare che password_hash() può cambiare la sua implementazione per utilizzare un algoritmo diverso se aggiorni PHP a una versione più recente che la modifica.

PASSWORD_DEFAULT - Use the bcrypt algorithm (default as of PHP 5.5.0). Note that this constant is designed to change over time as new and stronger algorithms are added to PHP.

Se utilizzi PASSWORD_BCRYPT utilizzerà sempre bcrypt.

    
risposta data 02.04.2016 - 00:40
fonte

Leggi altre domande sui tag