Ici nous avons 5 parties :
- Le gestionaire de base de donnée qui restera le même
- Des fonctions définies par un développeur qui évolueront en fonction des évolutions logicielles
- L'insertion des données qui resteront les même au fur et à mesure
- Test de connexion classique
- Test d'attaque en connaissance du code
A ce stade du developement, le programmeur a mis en place un algorithme avec un clef de hashage 24 bit en faisant un hash combiné du nom du site, de son hash, du nom de l'utilisateur, de son hash, du mot de passe et de son hash.
Le hackeur à besoin de générer des clefs au hazard afin de trouver un couple de mot de passe avec la clef de hashage correspondant au site et à l'utilisateur, ce qui fait qu'il ne peut utiliser une rainbow table et est donc obligé de générer à la volée pour chaque utilisateur, si l'attaque cible un seul utilisateur, dans ce cas le hackeur gagne le temps de la génération de la rainbow table, toutefois s'il cherche à attaquer des utilisateurs en masse, il perd du temps de recherche pour chaque utilisateur, pour chaque site et si l'utilisateur change de mot de passe, il est obligé de relancer la recherche.
Comparé à la précédente attaque, un clef 24 bit est plus forte qu'une clef 16 bit et rend l'attaque beaucoup plus ineficace du à un tmps de calcul plus long à effectuer.