Bof, le salt l’important est qu’il soit raisonnablement distribué dans la base et que le salt ne dépende pas trop directement du mot de passe en clair.

Une génération aléatoire très moyenne suffit à priori puisque l’unique objectif est de casser les rainbow table (ou alors il me manque un type d’attaque).

Maintenant oui, si crypt() est déjà un niveau au dessus des fonctions de base, utiliser une lib plus haut niveau ce n’est pas mal.