La génération d'un sel en PHP

Quelle est la meilleure façon de générer un point de vue cryptographique sécurisé 32 octets de sel en PHP, sans dépendre des bibliothèques rarement inclus dans PHP typique des installations?

Après quelques recherches sur google, j'ai découvert que mt_rand n'est pas considéré comme assez sûr, mais je n'ai pas trouvé une suggestion pour un remplacement. Un article de suggestions de lecture à partir de /dev/random mais pas seulement cela ne fonctionne pas sur windows; il est également très lent.

Je veux un équilibre raisonnable entre la sécurité et de la vitesse (c'est à dire, il ne devrait pas prendre 20 secondes pour générer de 512 octets, comme /dev/random le fait habituellement)

/dev/urandom peuvent être utilisés pour accélérer la génération, mais ne fonctionne toujours pas sur les systèmes Windows.

OriginalL'auteur qster | 2010-03-25