CRYPTOFILE : UTILITAIRE QUI CRYPTE N'IMPORTE QUEL FICHIER (XOR)

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 - 21 janv. 2007 à 16:43
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 - 22 janv. 2007 à 22:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41187-cryptofile-utilitaire-qui-crypte-n-importe-quel-fichier-xor

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
22 janv. 2007 à 22:46
Je vais vite changer ça demain ...
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
22 janv. 2007 à 22:45
Merci !
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
22 janv. 2007 à 22:41
1. ok

2.je te donne un exemple de code si ça peut t'aider :

Private Const BUFFER_SIZE = 8192' Taille du tapon (perso)
Private Function CryptFile( _
InputFile As String, _
OutputFile As String, _
Key As String _
) As Boolean
On Error GoTo Error_Handler
Dim Fr As Long, Fw As Long, Rest As Long
Dim Packets As Long, fLength As Long
Dim Buffer As String, i As Long

Fr = FreeFile
Open InputFile For Binary Access Read As #Fr
Fw = FreeFile
Open OutputFile For Binary Access Read As #Fw
fLength = FileLen(InputFile)

If fLength > BUFFER_SIZE Then

Rest = fLength Mod BUFFER_SIZE
Packets = ((fLength - Rest) / BUFFER_SIZE)
For i = 1 To Packets
Buffer = String(BUFFER_SIZE, 0)
Get #Fr, , Buffer
Buffer = TaFonctionDeCrypatge(Buffer, Key)
Put #Fw, , Buffer
Next i
If Rest > 0 Then
Buffer = String(Rest, 0)
Get #Fr, , Buffer
Buffer = TaFonctionDeCrypatge(Buffer, Key)
Put #Fw, , Buffer
End If
Else
Buffer = String(fLength, 0)
Get #Fr, , Buffer
Buffer = TaFonctionDeCrypatge(Buffer, Key)
Put #Fw, , Buffer
End If
CryptFile = True

Error_Handler:
Reset
End Function

3. Ce que que je voulais dire c'est que dans ton prog tu met la fonction Crypto à laquelle tu ne fait pas appele car tu retape le code lié à cette fonction dans CrypoFile

4. Cela l'est pour toi mais pas pour les newb's, une source même la plus simple se commente. D'ailleurs c'est tellement plus facile à commenter qu'une source de nv3 =)

5. Je m'excuse je crois que j'ai été un peu "..." je ne suis pas trop pour les commentaires à caractères péjoratifs d'habitude, mais plutot pour ceux constructifs...

Voila, sur ce, bonne prog @+
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
22 janv. 2007 à 17:58
1: Oui, mais j'ai voulu en faire une moi-même ...
2: Oui, mais comment faire autrement ?
3: A crypter une string
4: C'est tellement simple ...
5: Bonne idée !
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
22 janv. 2007 à 02:56
Humm...

1. Il y a déjà un paquet de sources idem sur ce site

2. "UTILITAIRE QUI CRYPTE N'IMPORTE QUEL FICHIER (XOR)" <<== le problème c'est que ton prog charge la totalité des bytes du fichier en mémoire, de ce fait si tu ouvre un fichier d'une taille plus importante que celle de ta mémoire dispo, la lecture des bytes passe en fichier d'échange et c le plantage assuré de l'appli (saturation mémoire).

3. A quoi sert la fonction Crypto ?

4. Ta source n'est pas commentée.

Tu peux l'améliorer en lui apportant une fonction de vérification de la clé et/ou une fonction de vérification des données (style CRC)
Pense aussi aux gros fichiers en travaillant la lecture/écriture par paquets.

Bonne prog @+
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
21 janv. 2007 à 16:43
Allez-y !
Faites vos commentaires ...
Rejoignez-nous