code parfois bien utile quand il s'agit d'informations sensibles comme les mots de passes. Certains me diront que l'on peut supprimer les clés mais si on mettait les pwd dans un fichier ce serait aussi facile... Le cryptage en lui même n'est pas de moi : je ne sais plus de qui il est.
Code a mettre dans un module
Source / Exemple :
Private Const SAppli = app.exename
Private Const SPass = "unzolipasswordlepluslongpossible..."
Public Sub SSavesetting(ByVal SSection As String, ByVal SClé As String, ByVal SValeur As String)
SValeur = Cryptage(SValeur, SPass)
SaveSetting SAppli, SSection, SClé, SValeur
Exit Sub
End Sub
Public Function SGetSetting(ByVal SGsection As String, ByVal SGclé As String) As String
Dim SGvaleur As String
On Error GoTo SGErreurs
SGvaleur = GetSetting(SAppli, SGsection, SGclé)
SGvaleur = Decryptage(SGvaleur, SPass)
If SGvaleur = "" Then
SGvaleur = "erreur2$$256"
End If
SGetSetting = SGvaleur
Exit Function
SGErreurs:
Debug.Print Err.Number & Err.Description
SGetSetting = "erreur2$$256"
End Function
Private Function Cryptage(Textnoncrypter As String, Motdepasse As String) As String
Dim a, b, Textcrypter, Incr, TeXtec, okm, z, w
z = 0
For Incr = 1 To Len(Textnoncrypter)
'C'a, c pour effectuer le code suivant le nombre de
'caractère ke contient le texte
TeXtec = Mid$(Textnoncrypter, Incr, 1)
'Là, c pour lire le caractère du texte
a = Asc(TeXtec)
'Je transforme le caractère alphabétique en
'caractère ASCII
z = z + 1
If z > Len(Motdepasse) Then
z = 1
'Kan le mot de passe a été lu, on recommence à
'son premier caractère
End If
okm = Mid$(Motdepasse, z, 1)
'On lit le caractère du mot de passe
b = Asc(okm)
'On prend son code ASCII
w = a + b
'On additionne le code ASCII du texte et du mot de passe
If w > 255 Then
w = w - 255
'Au cas où l'addition dépasserai 255, on retire 255
End If
Textcrypter = Textcrypter + Chr(w)
'On additionne les lettres cryptés ki sont
'retransformées en caractère "lisible" mais crypté
Next Incr
'on fait de même pour la lettre suivante du texte à crypter
Cryptage = Textcrypter
'Et on affiche le texte crypté ki ne ve plus rien dire
End Function
'Le décryptage est le même avec la démarche inverse
'on part du texte crypté, on le transforme en ASCII
'On enlève l'ASCII du mot de passe et on obtient
'l'ASCII du texte décrypté kon rechange en caractère lisible.
Private Function Decryptage(Textcrypte As String, Motdepasse As String) As String
Dim a, b, Textdecrypter, Incr, TeXtec, okm, z, w
z = 0
For Incr = 1 To Len(Textcrypte)
TeXtec = Mid$(Textcrypte, Incr, 1)
a = Asc(TeXtec)
z = z + 1
If z > Len(Motdepasse) Then
z = 1
End If
okm = Mid$(Motdepasse, z, 1)
b = Asc(okm)
w = a - b
If w < 0 Then
w = w + 255
End If
Textdecrypter = Textdecrypter + Chr(w)
Next Incr
Decryptage = Textdecrypter
End Function
Conclusion :
NB: Pour des prog plus "secure" mieux vaux utiliser un cryptage plus puissant
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.