Oui, sha-1, sha-256 ou même sha-512.
Ce qui fait la faiblesse de cette méthode de "crackage" c'est les ressources matérielles qu'elle demande.
Admettons qu'on veuille construire une version "faisable" d'une telle table (i.e. où chaque hash apparait une unique fois dans la table, sans quoi elle serait infinie), déjà rien que pour stocker tous les hashs md5 il faut 2^128 = 3.40282367.10^38 bits.
Pour en arriver là il va déjà falloir en acheter des disques durs ^^
Et pourtant on ne compte encore pas l'espace-disque qu'il nous faut pour enregistrer les chaînes associées aux hashs.
Et puis en combien de temps arriverait-on a une table "complète" ? Même en faisant un milliard de calculs de hashs par seconde, il nous faut ((2^128) / 1 000 000 000) / 31 556 926 = 1.07831278.10^22 années ! Tout ça pour une table qui n'associe une chaîne à un hash alors qu'il en existe une infinité, ça vaut pas le coup :-P
C'est pourquoi les tables qui existent sont très limitées, des chaînes simples comme "azerty", "iloveyou" s'y trouvent, mais pour "décoder" le hash de "£f6M!a0eDb!=}60", on n'a pas encore fini ;-)
D'où -encore une fois- l'intérêt de choisir des mots de passe compliqués.
L'urgent est fait, l'impossible est en cours,
Pour les miracles, prévoir un délai ...