begin process at 2008 07 04 08:36:23
1 204 518 membres
60 nouveaux aujourd'hui
14 116 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRYPTAGE ET DÉCRYPTAGE SIMPLE DE STRING


Information sur la source

Catégorie :Sécurité Classé sous : cryptage, décryptage, string Niveau : Débutant Date de création : 05/08/2001 Vu : 7 222

Note :
7,4 / 10 - par 5 personnes
7,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

La fonction suivante effectue deux sortes de cryptage, soit un cryptage pouvant être décrypté avec cette même fonction. Soit un cryptage qu'on ne peut décrypter.

Ce deuxième mode doit être utilisé comme le système de mot de passe sous Unix. C'est à dire que pour tester un mot de passe (par exemple) alors que le mot de passe crypter se trouve dans un fichier, on compare le mot de passe entré par l'utilisateur APRES CRYPTAGE avec la chaine se trouvant dans le fichier.

Dans ce cas là, on ne peut plus récupéré un mot de passe oublié, on est obligé de l'écraser par un nouveau.

Source

  • '*********************************************************************
  • ' Fonction de cryptage décryptage
  • ' -------------------------------
  • ' Le mode indique le mode de cryptage:
  • ' 1 -> Cryptage qui peut être décrypté par la suite
  • ' 2 -> Cryptage unique
  • ' Le booléen cryptage est à vrai si il faut crypter et à false si il faut décrypter
  • '*********************************************************************
  • Public Function EasyCrypt(Entree As String, mode As Integer, cryptage As Boolean) As String
  • ' Variables locales
  • Dim sortie As String
  • Dim pos As Integer
  • Dim offset As Integer
  • Dim a_traiter As String
  • Dim a_traiter2 As String
  • Dim taille As Integer
  • Dim pret As Integer
  • sortie = ""
  • ' Teste si il faut crypter ou décrypter
  • If cryptage = True Then
  • If mode = 1 Then
  • ' Initialisation
  • pos = 1
  • taille = Len(Entree)
  • ' Boucle de cryptage de la chaine
  • While pos <= taille
  • ' Extrait la chaine à traiter
  • a_traiter = Mid(Entree, pos, 1)
  • sortie = sortie & Chr(Asc(a_traiter) - offset)
  • ' Prépare le passage suivant
  • offset = offset + 1
  • If offset = 3 Then offset = 1
  • pos = pos + 1
  • Wend
  • Else
  • ' Initialisation
  • pos = 1
  • taille = Len(Entree)
  • ' Boucle de cryptage de la chaine
  • While pos <= taille
  • ' Extrait la chaine à traiter
  • a_traiter = Mid(Entree, pos, 1)
  • If pos > 1 Then a_traiter2 = Mid(Entree, pos - 1, 1) Else a_traiter2 = "A"
  • pret = Asc(a_traiter) + Asc(a_traiter2) + offset
  • If pret > 255 Or pret < 0 Then pret = "z"
  • sortie = sortie & Chr(pret)
  • ' Prépare le passage suivant
  • offset = offset + 1
  • If offset = 10 Then offset = 1
  • pos = pos + 1
  • Wend
  • End If
  • Else
  • ' Initialisation
  • pos = 1
  • taille = Len(Entree)
  • ' Boucle de décryptage de la chaine
  • While pos <= taille
  • ' Extrait la chaine à traiter
  • a_traiter = Mid(Entree, pos, 1)
  • sortie = sortie & Chr(Asc(a_traiter) + offset)
  • ' Prépare le passage suivant
  • offset = offset + 1
  • If offset = 3 Then offset = 1
  • pos = pos + 1
  • Wend
  • End If
  • ' Retourne le résultat de la fonction
  • EasyCrypt = sortie
  • End Function
'*********************************************************************
' Fonction de cryptage décryptage
' -------------------------------
' Le mode indique le mode de cryptage:
'  1 -> Cryptage qui peut être décrypté par la suite
'  2 -> Cryptage unique
' Le booléen cryptage est à vrai si il faut crypter et à false si il faut décrypter
'*********************************************************************
Public Function EasyCrypt(Entree As String, mode As Integer, cryptage As Boolean) As String
    ' Variables locales
    Dim sortie As String
    Dim pos As Integer
    Dim offset As Integer
    Dim a_traiter As String
    Dim a_traiter2 As String
    Dim taille As Integer
    Dim pret As Integer
    
    sortie = ""
    
    ' Teste si il faut crypter ou décrypter
    If cryptage = True Then
        If mode = 1 Then
            ' Initialisation
            pos = 1
            taille = Len(Entree)
            ' Boucle de cryptage de la chaine
            While pos <= taille
                ' Extrait la chaine à traiter
                a_traiter = Mid(Entree, pos, 1)
                sortie = sortie & Chr(Asc(a_traiter) - offset)
                ' Prépare le passage suivant
                offset = offset + 1
                If offset = 3 Then offset = 1
                pos = pos + 1
            Wend
        Else
            ' Initialisation
            pos = 1
            taille = Len(Entree)
            ' Boucle de cryptage de la chaine
            While pos <= taille
                ' Extrait la chaine à traiter
                a_traiter = Mid(Entree, pos, 1)
                If pos > 1 Then a_traiter2 = Mid(Entree, pos - 1, 1) Else a_traiter2 = "A"
                pret = Asc(a_traiter) + Asc(a_traiter2) + offset
                If pret > 255 Or pret < 0 Then pret = "z"
                sortie = sortie & Chr(pret)
                ' Prépare le passage suivant
                offset = offset + 1
                If offset = 10 Then offset = 1
                pos = pos + 1
            Wend
        End If
    Else
        ' Initialisation
        pos = 1
        taille = Len(Entree)
        ' Boucle de décryptage de la chaine
        While pos <= taille
            ' Extrait la chaine à traiter
            a_traiter = Mid(Entree, pos, 1)
            sortie = sortie & Chr(Asc(a_traiter) + offset)
            ' Prépare le passage suivant
            offset = offset + 1
            If offset = 3 Then offset = 1
            pos = pos + 1
        Wend
    End If
    
    ' Retourne le résultat de la fonction
    EasyCrypt = sortie
End Function 
  • signaler à un administrateur
    Commentaire de Douns le 08/09/2005 14:49:00

    Le cryptage est un peu simple... on garde le même nombre de caractère. On se contente juste de changer le caractère ascii en fonction de la position.

    Quand à ta fonction de cryptage impossible à décrypter, c'est faux. Elle est décryptable car elle est à peu près sur le même système que ta fonction décryptable... Mieux vaut utiliser le md5 (gratuit et efficace!)

    un 5/10 pour le code qui peut toujours être interessant pour apprendre la base du cryptage.

  • signaler à un administrateur
    Commentaire de Trainkill666 le 10/07/2006 23:37:37

    C'est suffisant, et très simple,
    par contre lorsque je crypte " & ", il décrypte "_",
    comment peut-on palier à cette erreur ?

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS