AESDecoder ne me donne pas les bonnes réponses.
Publié : mar. 26/juil./2016 19:18
Bonjour, j'ai encodé avec une routine tiré de la documentation de purebasic des fichiers.... j'essai maintenant de lire ces fichiers encodés sauf la première ligne mais je ne parviens pas à avoir le texte original...
merci de votre aide... je pense que je suis un peu beaucoup énormément perdu.
Yves
exemple 1 (à mettre dans un fichier *.txt)
merci de votre aide... je pense que je suis un peu beaucoup énormément perdu.
Yves
Code : Tout sélectionner
; DéCrypter une chaîne de caractères
;
Global Dim lect$(5)
Procedure crypt()
String$ = lect$(1)
; Crypter une chaîne de caractères
StringMemorySize = StringByteLength(String$) + SizeOf(Character) ; Espace pour la chaîne et son caractère 'nul' de terminaison de chaîne
*CipheredString = AllocateMemory(StringMemorySize)
*DecipheredString = AllocateMemory(StringMemorySize)
If AESEncoder(@String$, *CipheredString, StringByteLength(String$), ?Key, 128, ?InitializationVector)
Debug "Codé : "+PeekS(*CipheredString) ; Attention, ça s'arrêtera sur le premier octet nul, uniquement à des fins de démonstration
AESDecoder(*CipheredString, *DecipheredString, StringByteLength(String$), ?Key, 128, ?InitializationVector)
Debug "Décodé : "+PeekS(*DecipheredString)
EndIf
DataSection
Key:
Data.b $06, $a9, $21, $40, $36, $b8, $a1, $5b, $51, $2e, $03, $d5, $34, $12, $00, $06
InitializationVector:
Data.b $3d, $af, $ba, $42, $9d, $9e, $b4, $30, $b4, $22, $da, $80, $2c, $9f, $ac, $41
EndDataSection
EndProcedure
def$ = GetCurrentDirectory()
FichierParDefaut$ = def$ ; Répertoire et fichier par défaut qui seront affichés
; Avec la chaîne suivante nous allons définir les filtres ("|" comme séparateur) pour l'affichage de fichier :
; 1er : "Texte (*.txt)" comme nom, ".txt" et ".bat" comme extension autorisée
; 2ème : "PureBasic (*.pb)" comme nom, ".pb" comme extension autorisée
; 3ème : "Tous les fichiers (*.*)" comme nom, "*.*" comme extension autorisée, valide pour tous les fichiers
Filtre$ = "Texte (*.txt)|*.txt;*.bat|PureBasic (*.pb)|*.pb|Tous les fichiers (*.*)|*.*"
Filtre = 0 ; utiliser par défaut le premier des trois filtres possibles
Fichier$ = OpenFileRequester("Choisissez un fichier à charger", FichierParDefaut$, Filtre$, Filtre)
If Fichier$
MessageRequester("Information", "Vous avez choisi le fichier suivant :"+Chr(10)+Fichier$, 0)
Else
MessageRequester("Information", "La sélection a été annulée.", 0)
EndIf
nombreligne.i = 0
If ReadFile(0, Fichier$,#PB_Ascii) ; Si le fichier peut être lu , on continue...
While Eof(0) = 0 ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File')
lect$(nombreligne) = ReadString(0)
nombreligne = nombreligne + 1
Wend
CloseFile(0) ; Ferme le fichier précédemment ouvert
Else
MessageRequester("Information","Impossible d'ouvrir le fichier!")
EndIf
For i = 0 To 3
MessageRequester("essai",lect$(i))
Next i
crypt()
End
exemple2 (à mettre dans un fichier *.txt)Weld Design
¡¬ØaA8>µ”i^8gú_ %í&
Û•>¾Ô79Û…§<ïFuB`0f,ú‹ Ïåüö<iJC
™¤g¼žS‰JUh~9ò"™‘ìl
WeldDesign
qÎlÛx,ÍŸ÷ÅÒýV‹µPý,bÁcöÁ»7ÌÊGÁ*gԲߡ3cúíúX?ûâÜO©ˆj‡Å¢Sß¾x· 7ÙŠz”ȓ֔üew6þÅÎc
ÔÒjVËñIÆÏ¾†nÚyÛÆ¦×