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 : 8 211

Note :
7,5 / 10 - par 6 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
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 

Commentaires et avis

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 ?

signaler à un administrateur
Commentaire de saintnaej le 04/07/2008 14:06:58 8/10

Code sympa quand on n'a pas besoin d'un codage très complexe.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Aider-moi (cryptage-décryptage de texte) [ par Quiske ] Salut tlm j'ai un bleme je fais un programme pour crypter et decrypter du texte:j'ai une textbox et 2 bouton je voudrais que en entrant un truc zarb c Problème Cryptage Vigénère [ par Redman31100 ] Bonjour à tous !J'ai commencé à faire seulement le code de cryptage Vigénère.Voici le code : Public Shared Function Cryptage(ByVal TextClair As String Largeur cm string vba word [ par sisi231 ] Bonjour !Dans une macro Word je voudrait redimensionner les largeurs des colonnes d'un tableau créé par ma macrode la largeur de leur titre c'est-à-di cryptage [ par achills ] svp j'ai une autre question: je crypte mes données (text1.text) puis je les enregistre dans un fichier text et je les charge au démarrage du forum,le Parcourir Fichier et renvoyer résultat obtenu via des Regex dans un dataset [ par ranouf ] Bonjour,J ai du mal a concevoir une solution qui de base me paraissait pourtant simple, je vous explique mon pb.Je dois parcourir tout un fichier .asp definir un Array comme parametre dans une sub [ par ravachol ] bonjour,je voudrais faire ça :Public Sub SVG(Image_fond As String, chemVid2(12) As String, ByVal nbbouton As Integer, ByVal nbobjet As Integer)mais il cryptage application (vb6 utilisant liste et fichier texte [ par bayrem2 ] salut,je suis debutant en informatique , je une application vb que je la termine, je suis demandé de la crypte , mais je sais pas que çc veut dire cry Inputbox [ par Djrome ] Salut les Kracks,Je bute sur la boucle d'une inputbox qui se réaffiche si l'utilisateur clique sur annulé : Dim vDate As String    Do    vDate = Input Problème avec Split() [ par Redman31100 ] Alors Voici mon code :Dim text1 As String = "a|b"Dim text2 As String = "a&lt;&gt;b"Dim splittedtexts1() As String = text1.Split("|")Dim splittedtexts2 Envoyer un mail avec VB6 [ par piou62 ] BonjourVoila je voudrais via VB6 envoyer un mail à plusieurs personnes dont la liste sera dans un tableau dynamique.J'ai trouvé comme code :Declare Fu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.