Cryptage / decryptage de fichiers par mot de passe

Description

Le projet est capable d'encrypter / decrypter un fichier à l'aide d'un mot de passe.
C'est trés simple à faire , en faite c'est du béhaba !
juste une dizaine de lignes pour crypter/decrypter un fichier avec mot de passe
L'utilisateur lance le projet et clique sur un des trois menus (crypter / decrypter / quitter).

ATTENTION ! Il est impossible de recupérer un mot de passe perdu.
Un conseil noter le mot de passe sur un bout de papier ou calepin.

Source / Exemple :


unit Unit1;

interface

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

type
  Tfprincipe = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    epwd: TEdit;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { DÚclarations privÚes }
  public
    { DÚclarations publiques }
    procedure gc(encrypter : boolean);
  end;

var
  fprincipe: Tfprincipe;

implementation

{$R *.DFM}

uses crypt;

procedure Tfprincipe.gc(encrypter : boolean);
var source,dest : pointer;
    f : file;
    size : longword;
    pwd : pchar;
    s : string[128];
begin
     if opendialog1.execute then begin
        savedialog1.filename := opendialog1.filename+'2';
        if savedialog1.execute then begin
        assignfile(f,opendialog1.filename);
        reset(f,1);
        size := filesize(f);
        source := nil;
        dest := nil;
        reallocmem(source,size);
        reallocmem(dest,size);
        blockread(f,source^,size);
        closefile(f);
        s := epwd.text+#0;
        pwd := @s;

        crypter(source,dest,size,pwd,encrypter);
        assignfile(f,savedialog1.filename);
        rewrite(f,1);
        blockwrite(f,dest^,size);
        closefile(f);
        end;

     end;
end;

procedure Tfprincipe.Button1Click(Sender: TObject);
begin
    gc(true);
end;

procedure Tfprincipe.Button2Click(Sender: TObject);
begin
    gc(false);
end;

procedure Tfprincipe.Button3Click(Sender: TObject);
begin
     application.terminate;
end;

end.

Conclusion :


Des pages seront mise en ligne sur le site http://sivallerstatic.no-ip.org et sivaller
prévoit la reouverture éventuelle du site http://sivaller.no-ip.org l'année prochaine

Codes Sources

A voir également