begin process at 2008 05 16 07:00:27
1 173 219 membres
62 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRYPTOGRAPH


Information sur la source

Catégorie :Graphique Classé sous : crypter, image Niveau : Débutant Date de création : 16/01/2006 Date de mise à jour : 17/01/2006 21:32:53 Vu / téléchargé: 3 896 / 624

Note :
7,67 / 10 - par 3 personnes
7,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

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

  • 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;
 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
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

16 janvier 2006 21:09:59 :
tromper de zip et d image la total !!!
17 janvier 2006 21:32:53 :
Pour delphiProg
  • signaler à un administrateur
    Commentaire de Delphiprog le 16/01/2006 23:37:23 administrateur CS

    Cette technique s'appelle la stéganographie. Plusieurs codes ont été déposés sur delphifFr : http://tinyurl.com/c73c9
    C'est donc le nième code sur ce sujet.

  • signaler à un administrateur
    Commentaire de JulioDelphi le 17/01/2006 16:35:30 administrateur CS

    La stéganograpgie est l'art de cacher des messages dans une donnée (une image ici) mon cher ami :p et non pas simplement de crypter/cacher/modifier_les_pixels d'une image.
    wala

  • signaler à un administrateur
    Commentaire de Nicolas___ le 17/01/2006 18:28:10

    je sais ce qu'est la stenographie et je n ai jamais dis que ce code etait de la Stenographie puisque comme la dis julioDelphi je modifie juste les pixels de l'image...

    Si j ai mis ce code ici c'est pour cette raison puisque ce n'est pas ca ...

    Bon d accord le code n'est pas revolutionnaire mais pour ce qui ne connaise pas les instruction xor shr et shl(comme moi il n'y a pas longtemps !) c'est un code qui peut montrer a quoi cela peut servir .
    Et je pense que montrer cela plus simplement permet de comprendre clairement a quoi ca peut servir.
    Au lieu de montrer des choses plus complexe(d ailleurs mon codes est mis en debutant ) je montre une simple utilisation

    A votre guise de le perfectionner

    Ciao
    Nico  

  • signaler à un administrateur
    Commentaire de JulioDelphi le 17/01/2006 18:33:37 administrateur CS

    Je parlais à DelphiProg justement !

  • signaler à un administrateur
    Commentaire de Nicolas___ le 17/01/2006 19:07:07

    Je sais ya pas de prob je lui disais juste le pourquoi du comment de cette souce !

    Ciao
    Nico

  • signaler à un administrateur
    Commentaire de Delphiprog le 17/01/2006 19:58:20 administrateur CS

    Alors, autant pour moi, je n'aurais pas dû parcourir le code en diagonale. La présence d'images a fortement influencé mon esprit à l'heure où j'écrivais. Mea culpa et mes plus plates excuses et pour ce commentaire inapproprié ici.
    Cela dit, si le code démontre ce que tu affirmes, en revanche il n'est que moyennement réutilisable. Si l'on veut traiter plusieurs images d'affilée, il faudra modifier le code source et sortir ce qui est réellement utile au cryptage d'images.
    C'est une erreur monumentale que de lier son code à des éléments d'une interface utilisateur. Le jour où tu auras besoin de réutiliser ton magnifique algorithme, tu t'apercevras que tu as plus vite fait de tout réécrire.
    Essaie de faire cette transposition maintenant, tant que le code est frais dans ta tête, et tu verras que tu n'en retireras que des bénéfices...et toute ma considération. ;o)

  • signaler à un administrateur
    Commentaire de Nicolas___ le 17/01/2006 21:34:53

    Slt DelphiProg ,
    Est ca que tu me demandais ???
    ou alors est ce que je n est rien compris ?!
    Slt
    Nico

  • signaler à un administrateur
    Commentaire de JulioDelphi le 17/01/2006 21:43:20 administrateur CS

    Oui c'est ça =) super, c'est bien plus simple à réutiliser.

  • signaler à un administrateur
    Commentaire de Delphiprog le 18/01/2006 09:05:37 administrateur CS

    C'est tout à fait de ça que je parlais.
    Félicitations pour la transformation et la réactivité.

  • signaler à un administrateur
    Commentaire de Den le 24/01/2006 15:10:36

    Pour un débutant c'est un excellent travail
       On ne peut que le féliciter..... je note 10/10

  • signaler à un administrateur
    Commentaire de Nicolas___ le 24/01/2006 18:23:42

    Merci ;)

    enfin un prob subsiste tu note 10/10 et j ai un 2/10 ... enfin j ai pas dis que ct toi

    Merci a toi

    nico

  • signaler à un administrateur
    Commentaire de Den le 24/01/2006 19:03:38

    Excuse moi, j'ai la confirmation par ton message car il m'a semblé mal cliqué pour afficher la note, et il est impossible de le refaire.

    Bon n'en tient pas compte tu mérite 10/10.  

  • signaler à un administrateur
    Commentaire de JulioDelphi le 24/01/2006 19:43:12 administrateur CS

    j'ai supprimé la note 2/10 de Den, tu peux remettre un 10/10 si tu peux, si tu ne peux pas, fais le moi savoir den, merci.

  • signaler à un administrateur
    Commentaire de Den le 24/01/2006 21:14:46

    Merci à JulioDephie, j'ai remis la bonne de 10/10

  • signaler à un administrateur
    Commentaire de Nicolas___ le 24/01/2006 22:21:22

    Merci JulioDelphi et Re-Merci den
    Ciao
    Nico

  • signaler à un administrateur
    Commentaire de Bidou le 12/08/2006 19:00:20 administrateur CS

    Nicolas____> Petite précison : on ne dit pas stenographie mais stéganographie

  • signaler à un administrateur
    Commentaire de Nicolas___ le 12/08/2006 20:32:14

    Salut Bidou, Ouep !

    Mauvaise lecture une fois et voila ce que cela donne : un mot que l'on garde erroné ...

    Bon si je suis vraiment de mauvais jeu je peux toujours dire que c'est une faute de frappe !!!

    lol

    Ciao

    Merci pour la correction ...

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS