Thema: Delphi Text verschlüsseln

Einzelnen Beitrag anzeigen

Benutzerbild von Remote1
Remote1

Registriert seit: 22. Okt 2003
Ort: Dippoldiswalde
252 Beiträge
 
Delphi 6 Personal
 
#3

Re: Text verschlüsseln

  Alt 22. Okt 2003, 11:41
schau dir mal diese unit an (damit kannst du jede art von dateien verschlüsseln -->auchbilder etc. dauert halt je nach größe der datei ewas länger oder kürzer)


Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, Buttons;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit2: TEdit;
    MaskEdit1: TMaskEdit;
    OpenDialog1: TOpenDialog;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure PwdDecodeFile(FileName : string; Key : string);
var
  I : Integer;
  Zeichen : Byte;
  mem : TFileStream;
  keylen : Integer;
  keypos : Integer;
begin
  mem := TFileStream.Create(Filename,fmOpenReadWrite or fmShareExclusive);
  keylen := length(key)-1;
  keypos := 0;
  for I := 1 to mem.Size do
  begin
    mem.Position := I;
    mem.Read(Zeichen,1);

    if keypos = keylen then
      begin
        Zeichen := Zeichen+ord(key[keypos]);
        keypos := 0;
      end
    else
      begin
        Zeichen := Zeichen+ord(key[keypos]);
        inc(keypos);
      end;

    Mem.Position := I;
    mem.Write(Zeichen,1);
  end;
  mem.free;
end;

procedure PwdEncodeFile(FileName : string; Key : string);
var
  I : Integer;
  Zeichen : Byte;
  mem : TFileStream;
  keylen : Integer;
  keypos : Integer;
begin
  mem := TFileStream.Create(Filename,fmOpenReadWrite or fmShareExclusive);
  keylen := length(key)-1;
  keypos := 0;
  for I := 1 to mem.Size do
  begin
    mem.Position := I;
    mem.Read(Zeichen,1);

    if keypos = keylen then
      begin
        Zeichen := Zeichen-ord(key[keypos]);
        keypos := 0;
      end
    else
      begin
        Zeichen := Zeichen-ord(key[keypos]);
        inc(keypos);
      end;

    Mem.Position := I;
    mem.Write(Zeichen,1);
  end;
  mem.free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if (MaskEdit1.Text<>'') and (edit2.text<>'')
 then PwdEncodeFile(edit2.text,Maskedit1.text)
 else application.MessageBox('Es ist ein Fehler aufgetreten'+#10#13+'Entweder haben Sie keine Datei angegeben oder'+#10#13+'Sie haben kein Passwort eingegeben','Fehler',mb_ok+mb_iconerror);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if (MaskEdit1.Text<>'') and (edit2.text<>'')
 then PwdDecodeFile(edit2.text,Maskedit1.text)
 else application.MessageBox('Es ist ein Fehler aufgetreten'+#10#13+'Entweder haben Sie keine Datei angegeben oder'+#10#13+'Sie haben kein Passwort eingegeben','Fehler',mb_ok+mb_iconerror);
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
opendialog1.execute;
edit2.text:=opendialog1.FileName;
if edit2.text<>'then edit2.Visible:=true;
end;

end.
[edit=Christian Seehase]Delphi-Tags gesetzt. Bitte künftig selber machen. Danke. Mfg, Christian Seehase[/edit]
  Mit Zitat antworten Zitat