Sto lavorando su un sito che deve avere compatibilità con le versioni precedenti di PHP, che soffrono di un high-bit problema nell'implementazione di Blowfish crypt()
. In sostanza, i caratteri non ASCII non vengono elaborati correttamente e potrebbe essere possibile per un utente malintenzionato ridurre lo spazio brute-force. C'è una correzione in 5.3.7, ma dovrò supportare le versioni precedenti.
Per risolvere il problema, sto pensando a Base64 che codifica la password prima di eseguirla tramite crypt()
. L'idea è che base64_encode()
è binario sicuro e l'output non conterrà mai alcun carattere il cui bit più significativo è impostato.
Questa è un'ipotesi sicura, o dovrei considerare un metodo alternativo?