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

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

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.