AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TFileStream ganz,ganz,ganz einfach Verschlüsseln
Thema durchsuchen
Ansicht
Themen-Optionen

TFileStream ganz,ganz,ganz einfach Verschlüsseln

Offene Frage von "mytar"
Ein Thema von Die Muhkuh · begonnen am 16. Okt 2003 · letzter Beitrag vom 25. Okt 2004
Antwort Antwort
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 16. Okt 2003, 14:43
Wie kann ich einen TFileStream den ich (Siehe Thread: TFileStream öffnen und lesen Link) erzeuge ganz eifach zu verschlüsseln?


Edit: *ganzunauffällignachobenschieb*

[edit=sakura]Jetzt fang nicht an nach weniger als 90 Minuten zu schieben. Frühestens morgen Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 16. Okt 2003, 15:32
Zitat:
Jetzt fang nicht an nach weniger als 90 Minuten zu schieben. Frühestens morgen Mfg, sakura
Oho was sind bei dir 90 Minuten? bis Morgen sagen wir um 6 wären grade mal 930 Min!


Aber egal zurück zum Thema:

Meine Frage sthet immer noch!




*schieb *
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#3

Re: TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 16. Okt 2003, 15:37
Delphi-Quellcode:
procedure CryptStream(Stream: TStream; Key: Cardinal);
var
  Buffer: array[0..511] of Byte;
  Bytes,I,Position: Integer;
begin
  RandSeed := Key;
  Position := Stream.Position;
  repeat
    Bytes := Stream.Read(Buffer, SizeOf(Buffer));
    for I := 0 to Bytes -1 do
      Buffer[I] := Buffer[I] xor Random(256);
    Stream.Position := Position;
    Stream.Write(Buffer, Bytes);
    Inc(Position, Bytes);
  until Bytes = 0;
end;
Das ist definitiv eine einfache Verschlüsselung die fast genauso unsicher ist wie überhaupt nicht zu verschlüsseln. Aber das ist was du wolltest.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 16. Okt 2003, 16:48
und beim Entschlüsseln Stream.Read statt Stream.Write!


Zitat:
Das ist definitiv eine einfache Verschlüsselung die fast genauso unsicher ist wie überhaupt nicht zu verschlüsseln. Aber das ist was du wolltest.
Na ich glaub ich kann hier woll keiner fragen ob er mir ne vernünfitige erschlüsselung schreibt bzw. nen gescheiten Algorythmus!


Aber wenn du lust und zeit hast kannst du's gerne machen Schick mir ne PN! Dann schick ich dir das Prog!
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#5

Re: TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 16. Okt 2003, 18:32
Zitat:
und beim Entschlüsseln Stream.Read statt Stream.Write!
Nein. Die obige Methode ist eine Stromverschlüsselung und wird deshalb zur Verschlüsselung und zur Entschlüsselung benutzt. D.h. wird mit CryptStream() ein Stream zweimalig verschlüsselt so wurde der Stream wieder entschlüsselt. Vorausgestzt gleicher Key wurde benutzt.

Zitat:
Na ich glaub ich kann hier woll keiner fragen ob er mir ne vernünfitige erschlüsselung schreibt bzw. nen gescheiten Algorythmus!
Suchen würde ausreichen. Im WEB gibt es genügend fertiger Delphi Sourcen als Freeware die starke Verschlüsselungen enthalten. Und doch, du kannst mich fragen ob ich solche Algorithmen programmiere, denn das ist eines meiner Hobbies. Suche im WEB nach dem DEC=Delphi Encryption Compendium, oder DCP Crypt usw. usw.

Falls du warten kannst bis etwa zum Wochenende dann ist auch mein neues DEC fertig gestellt.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von X-Dragon
X-Dragon

Registriert seit: 14. Jan 2003
Ort: Schortens
289 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 20. Okt 2003, 13:00
In der Delphi-Filfe steht aber extra:
Zitat:
Hinweis

Die Implementierung der Funktion Random kann sich bei einer anderen Compiler-Version ändern. Sie sollten Random daher nicht für Verschlüsselungen oder andere Einsatzbereiche verwenden, in denen reproduzierbare Pseudozufallszahlen benötigt werden.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#7

Re: TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 20. Okt 2003, 15:46
Zitat:
Hinweis

Die Implementierung der Funktion Random kann sich bei einer anderen Compiler-Version ändern. Sie sollten Random daher nicht für Verschlüsselungen oder andere Einsatzbereiche verwenden, in denen reproduzierbare Pseudozufallszahlen benötigt werden.
Das stimmt auch. Ich habe aber seit Jahren mit Borland Pascal 4.0 bis Delphi 7.0 gearbeitet und Random() ist in allen Versionen kompatibel. Man kann auch den Source von Random() kopieren und eine eigene Funktion daraus basteln, wenn man 100%'tig sicher sein will.

Gruß Hagen
  Mit Zitat antworten Zitat
mytar

Registriert seit: 30. Mai 2004
Ort: Zermatt
411 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 25. Okt 2004, 14:08
Wie würde man das machen, wenn man Buffer und Count als Parameter hat?

Delphi-Quellcode:
procedure CryptStream(var Buffer; Count: Lonmgint);
var
  Buffer: array[0..511] of Byte;
  Bytes,I,Position: Integer;
begin
  RandSeed := Key;
  Position := Stream.Position;
  repeat
    Bytes := Stream.Read(Buffer, SizeOf(Buffer));
    for I := 0 to Bytes -1 do
      Buffer[I] := Buffer[I] xor Random(256);
    Stream.Position := Position;
    Stream.Write(Buffer, Bytes);
    Inc(Position, Bytes);
  until Bytes = 0;
end;
Wie ist das mit Buffer zu handhaben?

Danke!
Francis Obikwelu
greetz
mytar
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#9

Re: TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 25. Okt 2004, 16:00
Ja das geht auch, dann aber so

Delphi-Quellcode:
procedure CryptBuffer(var Buffer; Count: Integer; Key: Cardinal);
var
  I: Integer;
begin
  RandSeed := Key;
  for I := 0 to Count -1 do
    TByteArray(Buffer)[I] := TByteArray(Buffer)[I] xor Random(256);
end;
Wie gesagt: es ist unsicher, weil Random() selber als Schlüsselstrom unsicher ist, und weil RandSeed := Key == Cardinal == 2^32 viel zu wenig resitent gegen Brute Force Angriffe ist.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#10

Re: TFileStream ganz,ganz,ganz einfach Verschlüsseln

  Alt 25. Okt 2004, 16:06
Zitat von negaH:
Falls du warten kannst bis etwa zum Wochenende dann ist auch mein neues DEC fertig gestellt.
Neuer DEC ?? Ich hoffe mal du postest uns bescheid !! .... oh misst OT sorry
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz