Les schémas que tu proposes ne sont pas recommandés, mais pas très problématiques non plus. La seule propriété utile d'un sel est qu'il ne doit être utilisé qu'une et une seule fois. Avec 64 ou 128 bits aléatoires, tu es sur que jamais deux utilisateurs auront le même sel. Éventuellement en cas de particulière malchance, deux utilisateurs pourraient avoir le même nom civil ET la même date de naissance, et donc le même sel. Ce n'est pas recommandé, mais pas dramatique non plus (du moins de ce que j'en sais, je ne suis pas un expert).
Le plus simple est de sortir 8 ou 16 octets de /dev/urandom (ou autre PRNG équivalent) et de les utiliser directement. Utiliser un uuid4 (random uuid) est également une bonne idée. La principale raison pour laquelle je ne recommanderais pas ce que tu proposes est la première règle de la crypto: "Don't roll your own" (ne faites pas votre propre crypto). Mieux vaut se cantonner à la pratique standard qui consiste à sortir 8 ou 16 octets d'un PRNG.
[^] # Re: Mots de passe et imprécisions...
Posté par X345 . En réponse à la dépêche Linux Mint a été compromise. Évalué à 6.
Les schémas que tu proposes ne sont pas recommandés, mais pas très problématiques non plus. La seule propriété utile d'un sel est qu'il ne doit être utilisé qu'une et une seule fois. Avec 64 ou 128 bits aléatoires, tu es sur que jamais deux utilisateurs auront le même sel. Éventuellement en cas de particulière malchance, deux utilisateurs pourraient avoir le même nom civil ET la même date de naissance, et donc le même sel. Ce n'est pas recommandé, mais pas dramatique non plus (du moins de ce que j'en sais, je ne suis pas un expert).
Le plus simple est de sortir 8 ou 16 octets de /dev/urandom (ou autre PRNG équivalent) et de les utiliser directement. Utiliser un uuid4 (random uuid) est également une bonne idée. La principale raison pour laquelle je ne recommanderais pas ce que tu proposes est la première règle de la crypto: "Don't roll your own" (ne faites pas votre propre crypto). Mieux vaut se cantonner à la pratique standard qui consiste à sortir 8 ou 16 octets d'un PRNG.