begin process at 2012 02 13 22:26:52
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité

 > CRYPTAGE/DÉCRYPTAGE DE TEXTE PAR ASCII

CRYPTAGE/DÉCRYPTAGE DE TEXTE PAR ASCII


 Information sur la source

Note :
8,75 / 10 - par 4 personnes
8,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité Niveau :Débutant Date de création :05/01/2005 Date de mise à jour :06/01/2005 20:22:07 Vu :6 187

Auteur : retaks666

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Voici une petite source sans prétention, certain on du le faire avant moi, mais j'avais besoin alors je l'ai faite, puis je le mets, ça peut être utile a certains ;)

Source

  • Public Function crypter(ByVal chainetocrypt As String, ByVal cryptkey As String) As String
  • Dim crypte As String
  • crypter = vbNullString
  • Dim cpt As long
  • cpt = 1
  • For i = 1 To Len(chainetocrypt)
  • If cpt > Len(cryptkey) Then cpt = 1
  • If CInt(Asc(Mid(chainetocrypt, i, 1))) + CInt(Asc(Mid(cryptkey, cpt, 1))) > 255 Then 'on vérifie que la some du code ascii ne soit pas supérieur a 255 sinon erreur
  • crypter = crypter & Chr$((CInt(Asc(Mid(chainetocrypt, i, 1))) + CInt(Asc(Mid(cryptkey, cpt, 1)))) - 255) 'si c'est le cas on enlève 255
  • Else
  • crypter = crypter & Chr$(CInt(Asc(Mid(chainetocrypt, i, 1))) + CInt(Asc(Mid(cryptkey, cpt, 1)))) 'on ajoute le caractère crypté a la fonction
  • End If
  • cpt = cpt + 1
  • Next i
  • End Function
  • Public Function decrypter(ByVal chainetodecrypt As String, ByVal cryptkey As String) As String
  • Dim crypte As String
  • decrypter = vbNullString
  • Dim cpt As long
  • cpt = 1
  • For i = 1 To Len(chainetodecrypt)
  • If cpt > Len(cryptkey) Then cpt = 1
  • If CInt(Asc(Mid(chainetodecrypt, i, 1))) - CInt(Asc(Mid(cryptkey, cpt, 1))) < 0 Then 'on vérifie que la some du code ascii ne soit pas inférieur a 0 sinon erreur
  • decrypter = decrypter & Chr$((CInt(Asc(Mid(chainetodecrypt, i, 1))) - CInt(Asc(Mid(cryptkey, cpt, 1)))) + 255) 'si c'est le cas on ajoute 255
  • Else
  • decrypter = decrypter & Chr$(CInt(Asc(Mid(chainetodecrypt, i, 1))) - CInt(Asc(Mid(cryptkey, cpt, 1)))) 'on ajoute le caractère décrypté a la fonction
  • End If
  • cpt = cpt + 1
  • Next i
  • End Function
Public Function crypter(ByVal chainetocrypt As String, ByVal cryptkey As String) As String
Dim crypte As String
crypter = vbNullString
Dim cpt As long
cpt = 1
For i = 1 To Len(chainetocrypt)
    If cpt > Len(cryptkey) Then cpt = 1
        If CInt(Asc(Mid(chainetocrypt, i, 1))) + CInt(Asc(Mid(cryptkey, cpt, 1))) > 255 Then 'on vérifie que la some du code ascii ne soit pas supérieur a 255 sinon erreur
        crypter = crypter & Chr$((CInt(Asc(Mid(chainetocrypt, i, 1))) + CInt(Asc(Mid(cryptkey, cpt, 1)))) - 255) 'si c'est le cas on enlève 255
    Else
        crypter = crypter & Chr$(CInt(Asc(Mid(chainetocrypt, i, 1))) + CInt(Asc(Mid(cryptkey, cpt, 1)))) 'on ajoute le caractère crypté a la fonction
    End If
    cpt = cpt + 1
Next i
End Function

Public Function decrypter(ByVal chainetodecrypt As String, ByVal cryptkey As String) As String
Dim crypte As String
decrypter = vbNullString
Dim cpt As long
cpt = 1
For i = 1 To Len(chainetodecrypt)
    If cpt > Len(cryptkey) Then cpt = 1
        If CInt(Asc(Mid(chainetodecrypt, i, 1))) - CInt(Asc(Mid(cryptkey, cpt, 1))) < 0 Then 'on vérifie que la some du code ascii ne soit pas inférieur a 0 sinon erreur
        decrypter = decrypter & Chr$((CInt(Asc(Mid(chainetodecrypt, i, 1))) - CInt(Asc(Mid(cryptkey, cpt, 1)))) + 255) 'si c'est le cas on ajoute 255
    Else
        decrypter = decrypter & Chr$(CInt(Asc(Mid(chainetodecrypt, i, 1))) - CInt(Asc(Mid(cryptkey, cpt, 1)))) 'on ajoute le caractère décrypté a la fonction
    End If
    cpt = cpt + 1
Next i
End Function



 Historique

06 janvier 2005 16:43:11 :
06 janvier 2005 20:22:08 :

 Sources du même auteur

Source avec Zip Source avec une capture BASE DE DONNÉES V2 SANS ACCESS,UTILISABLE SOUS EXEL, CRYPTAG...
Source avec Zip Source avec une capture BASE DE DONNÉES SANS ACCESS, CRYPTAGE DES DONNÉES, ENREGISTR...
RENDS TRANSPARENTE PUIS OPAQUE FENETRE AFFICHÉE(DE WINDOWS),...
Source avec Zip Source avec une capture TRANSFERT DE FICHIER PAR WINSOCK, AVEC RESUME, PAUSE, VITESS...
CONVERSION BYTE <=> STRING <=> HEXA <=> DECIMAL...

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) CHIFFREMENT XOR PLUS ROBUSTE par dheroux
Source avec Zip CRYPTAGE MARANT par alpha5
Source avec Zip ACCÈS PAR MOT DE PASSE À FEUILLE EXCEL par mimiZanzan
Source avec Zip CRYPTER-DÉCRYPTER UN TEXTE - TEXTE CRYPTÉ UNIQUEMENT EN MAJ... par Saintache
Source avec Zip Source avec une capture FOLDER PROTECTION par hackoo

Commentaires et avis

Commentaire de ticomic le 05/01/2005 18:53:07

Salut!

J'ai fait un prog semblable récemment (pas posté malheureusement) utilisant la formule :
255 - l'asc du caractere
a la place, et il marche bien.  D'ailleurs, si tu te sers de cette formule a la place de ajouter ou enlever 255, t'as besoin de rien qu'une fonction, servant simplement a "inverser" le caractere.  Je pensais alors au systeme d'addition des faces d'un cubes qui donneront tjrs 7.  

En tk, je me suis rendu compte que si plus d'une personne peut y penser, et que c'est si simple, j'imagine que c'est déja un code assez commun et donc facile a trouver.

Je m'en servirais pas pour des logiciels destinés a la commercialisation, mais si c seulement pour des fichiers peu important, c bien quand meme (et assez décourageant pour celui qui regarde les fichiers cryptés).

Bon travail quand même! Simple et facile a utiliser. 8/10
A+!

Commentaire de ticomic le 05/01/2005 19:01:13

Salut c encore moi!

Je devrais vraiment observer mieux avant de parler, dsl des fois je vais trop vite.

J'avais pas remarqué le cryptkey.C beaucoup plus utile que d'utiliser tjrs le meme caractère, et bcp plus difficile a décrypter sans la clé.

Bravo!

Commentaire de retaks666 le 05/01/2005 20:22:58

oui, la seule façon de le décripter est de savoir la string que l'on doit obtenir décryptée, et essayer les combinaison une a une, mais ça ne ralentiras pas un cracker, c'est juste pour faire un peu plus pro dans une source ;)

Commentaire de Drakkhen le 06/01/2005 07:39:07

Salut,

Première chose :
Le dernier caractère de la clé n'est pas utilisé :

If cpt >= Len(cryptkey) Then cpt = 1

Tu aurais dû écrire :

If cpt > Len(cryptkey) Then cpt = 1

Deuxième chose :
Tu déclare cpt en Integer, ton programme perds de la rapidité d'exécution (il fonctionne moins vite). Pour l'optimiser, il faudrait déclarer tes variables numériques en Long, ça prend un peu plus de place en mémoire, mais ça booste énormément l'exécution (cf. : catégorie Optimisation sur le site).

Troisième chose et la plus importante :
Fais gaffe, pour un cracker y'a rien de plus simple à décrypter. ;o)

Ne prends pas mal ce que je dis, c'est pas le but. J'émets juste des critiques constructives. :oP
Sinon pour les débutants, c'est cool d'apprendre à utiliser les codes ascii -> 7/10.

Bon codage, a++

Commentaire de retaks666 le 06/01/2005 16:38:05

Voila, j'ai mis en long.
Et j'ai vérifié, il me semble que le dernier caractère de cryptkey est pris en compte, car
mid("text",len("text"),1) renvoi la dernière lettre de "text", donc si cpt = len(cryptkey), mid(cryptkey,cpt,1) devrait renvoyer la dernière lettre Voila.
Pour ce qui est du cracking, me doute que il est très facile de trouver la clef de cryptage, par bruteforce ou par autre moyen, mais sur un texte non donné, le cracker ne sais pas quel est le retour de la chaine, donc il y a un grand nombre de possibilité.
Note, je suis ouvert a toute critique.
Note 2, je pense pas que ma source ai quelque chose d'inovante, néanmoins je l'ai faite pour moi, et ça peut toujours servir a d'autres ;)

Commentaire de Saros le 06/01/2005 19:39:38

Non, la dernière lettre de la clé n'est pas comptée, car avant que cpt (= Len(cryptkey)) ne soit utilisé, en début de boucle, cpt est réinitialisé à 1 à cause du >=.
Met :
MsgBox Mid(cryptkey, cpt, 1)
juste après ta boucle For et tu verras.
Sinon ça va...
8/10 (le principe est pas très original, mais on est beaucoup à être passé par là je crois ^^)

Commentaire de retaks666 le 06/01/2005 20:21:06

Exact, je n'avais pas vu que j'avais mis l'instruction avant ;)

Commentaire de Unreal le 07/02/2006 20:09:04

J'ai pondu exactement le même code; a l'exeption que le mien ne marchait pas ;)
Voila je pense que ça va m'aider merci !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,569 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales