Mehrere Daten Verschlüsseln...
Übersicht

![]() |
Mathias-KwiatkowskiBetreff: Mehrere Daten Verschlüsseln... |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich würde gerne noch diese frage beantwortet bekommen *g*
und zwar nehmen wir mal an wir hätten nun 20 bilder und 5 mp3's diese kann man ja alle mit winrar packen und passwort sicher machen, aber das möchte ich gar nicht ich möchte das diese bilder und mp3's nur passwort gesichert sind als eine file die man mit einem programm was programmiert werden muss öffnen kann und sehen kann um welche dateien es geht, nachdem man das passwort eingegeben hat, dieses passwort sollen für alle dateien gelten die in diesem packet enthalten sind, solang man nicht ein neues packet öffnet soll man jede datei sich ansehen können oder auch anhören können, je nach dem dateityp eben. wie kann man sowas machen? wie gesagt es soll nix komprimiert werden es soll nur alle files pw, gesichert werden. danke für eure hilfe und antworten. edit . es soll hinterher nur eine datei geben... |
||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
also:
ich würde das ganz einfach ungefähr so machen: bestimmte zeichenfolge steht für anfang einer neuen datei, danach folgt der name und dann wird das verschlüsselte entschlüsselt wieder in die ursprüunglichen dateien geschrieben zur verschlüsselung: wie wäre es mit einer einfachen cäsarverschlüsselung??? sprich alle asciiwerte +belibigen wert oder mit einem längeren schlüssel, also der erste buchstabe um 5 erweitert, der 2. buchstabe um 3, der 3. um -3 und dann den vierten wieder um 5, 5. um 3 und so weiter |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Goodjee hat Folgendes geschrieben: bestimmte zeichenfolge steht für anfang einer neuen datei [...]
Das empfiehlt sich nicht, da es ja sein kann, dass diese Zeichenfolge zufälligerweise auch an einem anderen ort vorkommt. Ich würde eher die Länge vor jede Datei schreiben. Dann kann das Programm die Datei laden und entschlüssen und weiss auch, wann diese aufhört und die nächste anfängt. mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
kleines beispiel :
Code: [AUSKLAPPEN] Function InitPak(pak_path$) stream = ReadFile(pak_path) 3bytes : pak -> als pak identifizieren Code: [AUSKLAPPEN] for i = 0 to 2 sig$ = sig + chr(ReadByte(Stream)) next if not sig$ = "pak" then Return -1 4bytes(int) : paksize -> ateigrösse der *.pak angeben 4bytes(int) : Headsize -> Grösse der datei ohne body (für banks) 4bytes(int) : Bodysize -> Grösse der datei ohne header (für banks) *****Ab hier geht der Header "richtig" los***** Code: [AUSKLAPPEN] Bank = CreateBank(HeadSize) For i = 0 to HeadSize-1 PokeByte bank,ReadByte (Stream) next 4bytes(int) : anzahl der dateien (PeekInt(bank,pos) : pos = pos + 4) **Alle Dateien auflisten** 4bytes(int) : Datei grösse 4bytes(int) : Datei Position in pak datei (für SeekFile) 2bytes(short) : Länge des Dateinamen (Len) x Bytes : Ascii zeichen des Dateinamen (For i = 0 to Len_FileName-1) Code: [AUSKLAPPEN] For i = 0 to DateiAnzahl-1 File_Size = PeekInt(bank,pos) : pos = pos + 4 File_Pos = PeekInt(bank,pos) : pos = pos + 4 Len_FName = PeekShort(bank,pos) : pos = pos + 4 For i = 0 to Len_Fname-1 byte = peekbyte(bank,pos) File_Name$ = File_Name + chr(byte) pos = pos + 1 next F.TPakFile = new TPakFile F\size = File_Size F\Pos = File_Pos F\Name$ = File_Name$ F\PakFile$ = Pak_Path$ next ****END OF HEADER*** Code: [AUSKLAPPEN] closefile (stream) P.TPakStream = new TPakStream P\id = Handle(p) P\path$ = pak_path$ return P\id End Function So, nun haben wir alle Informationen und können beliebig eine oder alle dateien Entpacken oder sogar direkt vom pak stream auslesen und laden. Code: [AUSKLAPPEN] Image = LoadImage(LoadFile(pak00,"bilder/bild.bmp","pak00")) Function LoadFile$(pakID,path$,FileTo$) ;PakID wäre der wert, der bei InitPak zurückgegeben wird path = Replace(path,"/","\") ; für Dateinamen-Vergleiche "/" slashes mit "\" ersetzen For P.TPakStream = each TPakStream if P\id = pakID For T.TPakFile = each TPakFile if T\pakFile = P\path if lower(T\Name) = lower(path) Stream = readFile(P\path) StreamTo = WriteDirFile(FileTo+path) ;<- datei mit dirs schreiben (siehe unten) Seekfile Stream,T\Pos For i = 0 to T\Size-1 byte = ReadByte(Stream) ;Hier könnte man das byte noch decodieren WriteByte StreamTo,byte next endif endif next endif next return FileTo+path end function Function WriteDirFile(file$) For i = 1 To Len(File) z$ = Mid(File,i,1) If z="/" Or z="\" If FileType (dir+DirName$) <> 2 CreateDir (dir+DirName) EndIf EndIf DirName$ = DirName + z Next f = WriteFile (file) Return f end function umpf. Sagte zwar eigendlich kurz aber egal ^^ So könnte (oder ist) eine Pak datei aufgebaut, kann man noch beliebig mit passwort im header oder passwort für jede datei etc. ausbauen... MFG JP |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich denke mal du machst ein eigenes prog dafür.
du verschlüsselst die datei und machst neue dateiendung (etwa *.enc für encrypted) wenn du Enc-Datei öffnest, dann wird die Datei temporär entschlüsselt und mit richtiger Dateiendung gespeichert. Dann läst du diese TMP-Datei mit Standardprog öffnen... nach einem Klick auf MSG-Box wird die Datei gelöscht (nach dem der Viewer geschlossen wurde) In deinem Spiel mußt du einen ähnlichen loader für enc-Dateien schreiben... |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group