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?