ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 22 janv. 2007 à 22:46
Je vais vite changer ça demain ...
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 22 janv. 2007 à 22:45
Merci !
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 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és2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 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és2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 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és2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 21 janv. 2007 à 16:43
22 janv. 2007 à 22:46
22 janv. 2007 à 22:45
22 janv. 2007 à 22:41
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 @+
22 janv. 2007 à 17:58
2: Oui, mais comment faire autrement ?
3: A crypter une string
4: C'est tellement simple ...
5: Bonne idée !
22 janv. 2007 à 02:56
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 @+
21 janv. 2007 à 16:43
Faites vos commentaires ...