Bonsoir tout le monde!

Je me pose quelques petites question sur la façon de sécuriser les mots de passe rentrer par l'utilisateur! Quel fonction de hachage faut il utiliser ?
md5, Sha1 ,Bcrypt ou PBKDF2 ?

ha1() couplé avec un ou deux grains de sels ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<?php
$mot_de_passe_hashe = sha1('Gr@1n2s3l1' . md5($mot_de_passe_en_clair) . 'gRaIn2$eL2');
Faut il que c'est grains de sel soient aléatoire ? lié par exemple au pseudo de l'utilisateur ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<?php
$mot_de_passe_hashe = sha1('$pseudo_user' . md5($mot_de_passe_en_clair) );
Faut il qu'un grain de sel ? deux? plus on en met plus les données sont sécurisées? peut on alors en mettre plus de deux ? Faut il que les grains de sel comportent des caractères speciaux ? faut il une longueur adequat ou plus le grain est long avec des caractères biscornu mieux c est?

a quoi correspond Bcrypt et PBKDF2 ?


Merci d'avance pour éclairer ma petite lanterne!