Cryptograph

Description

bon c est un petit programme qui permet de ' crypter ' une image .
La fonction de cryptage se fait ac shr et xor et le decryptage ac xor et shl
Ce n est pas un reel cryptage je pense mais
Le but n est pas de faire un programme de cryptage mais juste une application marrante .

J ai mis un exemple et les valeurs pr le decrypter sont 4 , la deuxieme il ne faut pas y toucher

Source / Exemple :


TypeRGB       = Record
                        Bleu, Vert, Rouge : Byte;
                  End;
  TypeTRGBArray = Array [0..12000] Of TypeRGB; // pour la largeur de l'image
  TypePRGBArray = ^TypeTRGBArray;

procedure PRDecrypter(DEimage:Timage;Gauge1:Tgauge;ValSHL:integer;ValXor:integer);
var
Scan : TypePRGBArray;
x,y:integer;
ir,iv,ib,mv,mb,mr,Fin: Integer;
begin
gauge1.MaxValue:=DEimage.Picture.Bitmap.Height-1 ;

for y:=0 to DEimage.Picture.Bitmap.Height-1 do
begin
gauge1.Progress:=y;
Scan := DEimage.picture.Bitmap.ScanLine[Y];
for x:=0 to DEimage.Picture.Bitmap.Width-1 do
begin

// Valeurs en rouge vert et bleu
mR := Scan[X].Rouge;
mV := Scan[X].Vert;
mB := Scan[X].Bleu;
// Transo en rgb
fin:=rgb(mr,mv,mb);

fin:=rgb(Scan[X].Rouge,Scan[X].Vert,Scan[X].Bleu ) xor ValXor;

 Scan[X].Rouge := getRvalue(fin);
 Scan[X].Vert  := getGvalue(fin);
 Scan[X].Bleu  := getBvalue(fin);

end;
end;
 DEimage.Refresh;
 gauge1.Progress:=0;

for y:=0 to DEimage.Picture.Bitmap.Height-1 do
begin
gauge1.Progress:=y;
Scan := DEimage.picture.Bitmap.ScanLine[Y];
for x:=0 to DEimage.Picture.Bitmap.Width-1 do
begin

// Valeurs en rouge vert et bleu
mR := Scan[X].Rouge;
mV := Scan[X].Vert;
mB := Scan[X].Bleu;
// Transo en rgb
fin:=rgb(mr,mv,mb);

 fin:=rgb(Scan[X].Rouge,Scan[X].Vert,Scan[X].Bleu ) shl ValSHL;

 Scan[X].Rouge := getRvalue(fin);
 Scan[X].Vert  := getGvalue(fin);
 Scan[X].Bleu  := getBvalue(fin);

end;
end;

 DEimage.Refresh;
 gauge1.Progress:=0;
end;

procedure PrCrypter(image:Timage;Gauge1:Tgauge;ValSHR:integer;ValXOR:integer);
var
Scan : TypePRGBArray;
x,y:integer;
ir,iv,ib,mv,mb,mr,Fin: Integer;
begin

gauge1.MaxValue:=image.Picture.Bitmap.Height-1 ;

for y:=0 to image.Picture.Bitmap.Height-1 do
begin
gauge1.Progress:=y;
Scan := image.picture.Bitmap.ScanLine[Y];
for x:=0 to image.Picture.Bitmap.Width-1 do
begin

// Valeurs en rouge vert et bleu
mR := Scan[X].Rouge;
mV := Scan[X].Vert;
mB := Scan[X].Bleu;
// Transo en rgb
fin:=rgb(mr,mv,mb);

 fin:=rgb(Scan[X].Rouge,Scan[X].Vert,Scan[X].Bleu ) shr ValSHR;

 Scan[X].Rouge := getRvalue(fin);
 Scan[X].Vert  := getGvalue(fin);
 Scan[X].Bleu  := getBvalue(fin);

end;
end;
                    
 image.Refresh;
 gauge1.Progress:=0;

for y:=0 to image.Picture.Bitmap.Height-1 do
begin
gauge1.Progress:=y;
Scan := image.picture.Bitmap.ScanLine[Y];
for x:=0 to image.Picture.Bitmap.Width-1 do
begin

// Valeurs en rouge vert et bleu
mR := Scan[X].Rouge;
mV := Scan[X].Vert;
mB := Scan[X].Bleu;
// Transo en rgb
fin:=rgb(mr,mv,mb);

fin:=rgb(Scan[X].Rouge,Scan[X].Vert,Scan[X].Bleu ) xor ValXOR;

 Scan[X].Rouge := getRvalue(fin);
 Scan[X].Vert  := getGvalue(fin);
 Scan[X].Bleu  := getBvalue(fin);

end;
end;
 image.Refresh;
 gauge1.Progress:=0;

end;

Conclusion :


Marche ac SCanline

Bon pr savoir decrypter son image faut pas perdre les 2 valeurs de cryptage

PS: si vous mettez une valeurs de cryptage trop grand a shr votre image sera mauvaise

Codes Sources

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.