Bonjour,
J'ai fait exactement la même chose dans un de mes projets (je précise que le module ne vient pas de moi mais de VBFrance). Si cela peut t'aider, regarde les deux fonctions ci-dessous à copier dans un module. C'est certain que ce n'est pas du grand cryptage ! Si ce serait à refaire, j'irais stocker les mots de passe dans la base de registre WINDOWS à un endroit bien planqué !!!
A+
'==============================================
'Utilisé pour crypter et décrypter les mots de passe
'Valeurs cryptées dans le fichier CONFIG.ini
'==============================================
Public FileOpen As Variant 'Réserve une variable pour la fonction ouvrir
Public FileSave As Variant 'Réserve une variable pour la fonction enregistrer sous
Public Function Crypt(Mot As String)
Dim intCtr As Integer 'Variable pour le compteur de cryptage
Dim intCtr2 As Integer 'Variable pour le compteur d'écriture
Dim intTxt(5000) 'Tableau unidimensionnel pour le stockage des caractères
On Error GoTo erreur 'Etiquette de saut en cas d'erreur
For intCtr = 1 To 5000 'Première boucle, valeur à modifier pour des fichiers plus grands!
If Mid(Mot, intCtr, 1) = "" Then GoTo suite 'si le curseur arrive au bout du texte soit "" alors saut vers suite
intTxt(intCtr) = Mid(Mot, intCtr, 1) 'Récupère 1 caractère, au niveau intctr : pour lire les caractères un par un
intTxt(intCtr) = (Asc(intTxt(intCtr))) + 5 'transforme le caractère en entier et lui ajoute 5
intTxt(intCtr) = Chr(intTxt(intCtr)) 'retransforme le nombre en caractère
Next intCtr 'Passe au prochain intctr
suite: 'Etiquette suite
Mot = "" 'Efface le texte
For intCtr2 = 1 To intCtr 'Le compteur d'écriture, de 1 à intctr (en fait la fin de la chaine de caractère cryptée
Mot = Mot & intTxt(intCtr2) 'inscrit les nouveaux caractères cryptés
Next intCtr2 'passe au prochain intctr2
Crypt = Mot
erreur: 'Etiquette erreur
End Function
Public Function Decrypt(Mot As String)
Dim intCtr, intCtr2 As Integer 'Le principe est le même que pour crypt!
Dim intTxt(5000) 'Mais à l'envers ;-)
On Error GoTo erreur
For intCtr = 1 To 5000
If Mid(Mot, intCtr, 1) = "" Then GoTo suite
intTxt(intCtr) = Mid(Mot, intCtr, 1)
intTxt(intCtr) = (Asc(intTxt(intCtr))) - 5
intTxt(intCtr) = Chr(intTxt(intCtr))
Next intCtr
suite:
Mot = ""
For intCtr2 = 1 To intCtr
Mot = Mot & intTxt(intCtr2)
Next intCtr2
Decrypt = Mot
erreur:
End Function