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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.