Afin de ne pas rendre la vie trop facile à un éventuel pirate, il peut aussi être intéressant de crypter les mots de passe qui sont dans le fichier.
Cela se fait avec la fonction crypt.
Il n'y a pas d'algorithme de décryptage.
Mais il ne faut pas croire que cela puisse être une protection suffisante. En effet si les mots de passe, même cryptés, sont accessibles, il suffit de recopier chez soi les versions cryptées, et de les décoder tranquillement par la force brute.
Vous pourrez trouver un exemple de ce que cela signifie en
exécutant le programme suivant decrypt.php :.
Il décrypte tout mot de passe dont vous fournissez la version
cryptée d'une manière totalement inintelligente, voire même
plutôt bestiale : il essaie toutes les chaînes de
caractères possibles (en commençant par 1 caractère, puis 2,
etc.) en les énumérant systématiqument (par exemple pour 2
caractères : aa, ab,
ac, ad, ae,
... , az, ba,
bc, ...). Pour chaque chaîne il calcule sa
version cryptée (avec la fonction crypt) et la
compare à celle qu'on lui a fournie. Quand elles sont
identiques, il sait qu'il vient de trouver le mot de passe.
Idiot, d'accord, mais ça marche.
Pour ne pas encombrer inutilement le serveur le temps de calcul a été limité, mais cela permet quand même de trouver à coup sûr (si le serveur n'a pas trop de travail par ailleurs) n'importe quel mot de passe de 4 lettres au plus.
Et tout cela avec un programme qui n'est pas vraiment optimisé, et dans un langage qui n'est pas le plus rapide...
Il faut donc vraiment cacher les mots de passe...