En théorie,une clefs MD5 générée à partir d'une fonction mathématique, peut être "cassée" par une autre fonction mathématique.
Pour crypter correctement des données il est recommandé de mettre son grain de sel dans le résultat, ajout d'une chaîne de caractère, mélange de plusieurs résultats, etc. Ceci sera réalisé sur le serveur et non pas sur le poste du client pour des raisons évidentes de sécurité.
Ici les différents MD5 sont calculés après chaque frappe d'une touche du clavier, d'où l'utilisation du JavaScript.