Methode de chiffrement de vigenère, cryptage (fonction)

Contenu du snippet

Petite fonction permettant de crypter et decrypter une chaine, je me suis inpirer de la methode de chiffrement de Vigenère. http://www.commentcamarche.net/crypto/vigenere.php3

J'espere que cette fonction vous sera utile, et vous allez l'ameliorer pour la rendre plus puissante ;-)

Source / Exemple :


Private Function Crypt(ByVal strChaine As String, blnCryptage As Boolean) As String
  Dim I, J, K As Integer
  Dim strCryptKey As String
  Dim strLettre As String
  Dim strKeyLettre As String
  Dim intLettre As Long
  Dim intKeyLettre As Long
  Dim strResultat As String
  
  If strChaine = "" Then
    Crypt = ""
    Exit Function
  End If
  
  strCryptKey = "chiffrement de Vigenere"
  
  For K = 0 To 10 Step 1
    strResultat = ""
    
    For I = 1 To Len(strChaine) Step 1
      strLettre = Mid(strChaine, I, 1)
      J = I
      Do While J > Len(strCryptKey)
        J = J - Len(strCryptKey)
      Loop
      strKeyLettre = Mid(strCryptKey, J, 1)
      intLettre = Asc(strLettre)
      intKeyLettre = Asc(strKeyLettre)
      
      If blnCryptage = True Then
        intLettre = intLettre + (intKeyLettre * Len(strChaine))
      Else
        intLettre = intLettre - (intKeyLettre * Len(strChaine))
      End If
      
      Do While intLettre > 255
        intLettre = intLettre - 255
      Loop
      Do While intLettre < 0
        intLettre = intLettre + 255
      Loop
      strResultat = strResultat & Chr(intLettre)
    Next I
    
    strChaine = strResultat
  Next K
  
  Crypt = strResultat
End Function

Conclusion :


Utilisation :

- Cryptage --> Crypt("Chaine a crypter", true)

- Decryptage -->Crypt("Chaine a decrypter", false)

A voir également

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.