Pas de. MD5 n'est pas de chiffrement (bien qu'il puisse être utilisé dans le cadre de certains algorithmes de chiffrement), c'est une fonction de hachage. Une grande partie de l'origine des données est en fait "perdu" dans le cadre de la transformation.
Réfléchissez à ceci: Un MD5 est toujours 128 bits. Cela signifie qu'il y a 2128 possible de hachages MD5. C'est un assez grand nombre, et pourtant ce n'est vraiment fini. Et pourtant, il y a un nombre infini d'entrées possibles pour une fonction de hachage (et la plupart d'entre eux contiennent plus de 128 bits, soit un maigre 16 octets). Il y a donc effectivement un nombre infini de possibilités pour des données qui permettraient de hachage à la même valeur. La chose qui rend les hachages intéressant, c'est qu'il est incroyablement difficile de trouver deux morceaux de données de hachage à la même valeur, et les chances que cela se produise par hasard sont presque à 0.
Un exemple simple pour un (très fragile) fonction de hachage (ce qui illustre bien l'idée générale de one-way) serait de prendre tous les bits d'un morceau de données et la considérer comme un grand nombre. Ensuite, effectuer la division entière à l'aide de quelques grands (probablement le premier) sont au nombre de n et de prendre le reste (voir: Module). Vous serez à gauche avec un nombre entre 0 et n. Si vous étiez à effectuer le même calcul à nouveau (tout moment, sur n'importe quel ordinateur, n'importe où), en utilisant la même chaîne, il viendra avec la même valeur. Et pourtant, il n'y a aucun moyen de savoir ce que la valeur d'origine était, puisqu'il existe une infinité de nombres qui ont l'exacte reste, lorsqu'il est divisé par n.
Cela dit, MD5 a été trouvé pour avoir quelques faiblesses, tels que, avec certains des mathématiques complexes, il peut être possible de trouver une collision sans essayer d'2128 possible des chaînes d'entrée. Et le fait que la plupart des mots de passe sont courtes, et souvent, les gens utilisent des valeurs communes (comme "mot de passe" ou "secret") signifie que, dans certains cas, vous pouvez faire une bonne deviner un mot de passe par Googler le hachage ou à l'aide d'un arc-en-ciel de la table. C'est une des raisons pourquoi vous devriez toujours "sel" des mots de passe hachés, de sorte que deux valeurs identiques, lorsque hachés, ne sera pas de hachage à la même valeur.
Une fois un morceau de données a été exécuté grâce à une fonction de hachage, il n'y a pas de retour en arrière.