Crypt / decrypt / keygen : un module clair et extrenement utile !

Soyez le premier à donner votre avis sur cette source.

Vue 9 476 fois - Téléchargée 775 fois

Description

Voici ENFIN un module ULTRA clair qui montre comment crypter à partir du Clef, décrypter à partir d'une Clef et créer une Clef Randomizée.

Le module sert pour :
- APPRENDRE
- OPERATIONNEL SUR N'IMPORTE QUEL PROGRAMME

D'ailleur je vais l'utiliser tout de suite lol ;-)

Source / Exemple :


'Tout petit : 3 subs : Aucune gestion des Erreurs mais c'est prévu pour ne pas avoir les Erreurs stupides, cad celles qui sont dues à une réécriture sur un fichier (l'effacement du fichier est automatique si il existe)

'C'est le module, si vous ne voulez pas apprendre mais vous en servir, décompacter le ZIP avec votre programme et ajouter le module à votre programme.
'Vous pourrez dés lors utiliser les instructions :
'-CRYPT pour crypter
'-DECRYPT pour décrypter
'-KEYGEN pour générer une clef randomizer

Sub Crypt(Clef As String, Source As String, Destination As String)
Dim a As Integer
Dim b As Double
Dim c As String * 1
Dim K(0 To 255) As Integer
Open Clef For Random As #1 Len = 1
For a = 1 To 256
    Get #1, a, c
    K(a - 1) = Asc(c)
Next a
Close
If Len(Dir(Destination, 14)) > 0 Then Kill Destination
Open Source For Random As #1 Len = 1
Open Destination For Random As #2 Len = 1
For b = 1 To LOF(1)
    Get #1, b, c
    c = Chr(K(Asc(c)))
    Put #2, b, c
Next b
Close
End Sub

Sub Decrypt(Clef As String, Source As String, Destination As String)
Dim a As Integer
Dim b As Double
Dim c As String * 1
Dim K(0 To 255) As Integer
Open Clef For Random As #1 Len = 1
For a = 1 To 256
    Get #1, a, c
    K(Asc(c)) = a - 1
Next a
Close
If Len(Dir(Destination, 14)) > 0 Then Kill Destination
Open Source For Random As #1 Len = 1
Open Destination For Random As #2 Len = 1
For b = 1 To LOF(1)
    Get #1, b, c
    c = Chr(K(Asc(c)))
    Put #2, b, c
Next b
Close
End Sub

Sub KeyGen(Destination As String)
Dim a As Integer
Dim b As Integer
Dim c As String * 1
Dim K(0 To 255) As Integer
For a = 0 To 255
    K(a) = a
Next a
Randomize Timer
If Len(Dir(Destination, 14)) > 0 Then Kill Destination
Open Destination For Random As #1 Len = 1
For a = 1 To 256
    Do
        b = Int(Rnd * 256)
    Loop While K(b) < 0
    c = Chr$(K(b))
    Put #1, a, c
    K(b) = -1
Next a
Close
End Sub

Conclusion :


Ce type de cryptage est extrenement utile pour certains fichiers et faiblement sécurisé pour d'autre type... cherchez et vous comprendrez pourquoi :p

Aller, comme il y a des manipulations d'instructions dans le but d'avoir une autre réponse... je vais mettre niveau 2... Juste de la maîtrise logique.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

CerberusPau
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
-
Bonjour,

J'ai un soucis avec la syntaxe

Dans mon exemple :
Clef = "D:\Test\Clef.ini"
Source= "D:\Test\Source.ini"
Destination="D:\Test\Destination.ini"

1°) La sub ci-dessous marche
Sub CréerClé()
KeyGen ("D:\Test\Clef.ini")
End Sub
Le fichier Clef.ini est bien créé

2°) La sub ci-dessous n'est pas valide pour appeler ta sub Crypt :
Sub Crypter()
Clef = "D:\Test\Clef.ini"
Source = "D:\Test\Source.ini"
Destination = "D:\Test\Destination.ini"
Crypt(Clef, Source, Destination)
End Sub
La dernière ligne passe en rouge avec le message:
"erreur de compilation, attendu: ="
J'ai donc une erreur de syntaxe...
3°) Même chose pour appeler ta sub Decrypt,

Comment appeler les sub Crypt et Decrypt correctement?
J'ai essayé de les passer en "Function", mais sans plus de succès...
ça doit être tout bête, mais je tourne en rond...

Merci beaucoup
tr2replay
Messages postés
1
Date d'inscription
mardi 15 décembre 2009
Statut
Membre
Dernière intervention
15 décembre 2009
-
Quelqun pourait-il me donner un générateur pour un sérial d'exemple PTWX-MCM4-HJYW-6G3R-TDA ou 57R9-JM74-MDW7-MKFM-369 ??

Merci d'avance.
cs_Nil
Messages postés
85
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
31 décembre 2002
-
La syntaxe est la suivante :

Pour générer une clef : KeyGen("emplacement_cible")
Pour crypter un fichier : Crypt("emplacement_de_la_clef", "fichier_a_crypter", "fichier_crypte")
Pour décrypter un fichier : Decrypt("emplacement_de_la_clef", "fichier_crypte", "fichier_decrypte")

C'est tout ^^
Yianks
Messages postés
3
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
20 juillet 2004
-
J'avous que je suis pas très doué, mais quel est la syntaxe pour utiliser ?
cs_Willi
Messages postés
2377
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
16 -
Simple et compréhensible 8/10

----------------------------------------------------
PerfectVB2k2 / Programmes VB
http://www.perfectvb2k2.fr.st

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.