Donc, non seulement le temps requis pour faire ça va être énorme (plusieurs jours, plusieurs mois?), mais en plus tu risque bien de ne pas avoir assez de mémoire pour mettre tout ça dans un fichier txt.
sachant qu'un caractère en txt fait 1, 2 ou 4 octets, il te faudrait plusieurs milliards de milliards de milliards de milliards de TeraOctets sur le disque pour stocker tout ça. Ou en mémoire vive ^^. Mais dans tous les case c'est impossible.
Sinon pour créer des combinaisons en programmant c'est assez facile :
si le nombre de caractères est fixe, disons 12, tu fais 12 boucles for imbriquées qui changent chacune un caractère à chaque itérations...
Mais c'est extrêmement lent !
C'est pour ça qu'on conseille de faire des clefs ou des mot de passe aléatoires comme "gethsvd65f4hDG0dsEF", car des attaques par brute force n'ont justement pas vraiment de possibilités de réussir. Si ce ne sont que des mots tu peux faire une attaque par dictionnaire.