Cryptage et décryptage de chaine

Soyez le premier à donner votre avis sur cette source.

Snippet vu 44 439 fois - Téléchargée 34 fois

Contenu du snippet

Voici deux fonctions qui servent a decrypter et a crypter des chaines: c'est mon premier programme delphi, en fait j'ai traduit une de mes sources vb en delphi, ça marche chez moi!

Source / Exemple :


{déclarations}

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Borland.Vcl.StdCtrls, System.ComponentModel;

    function crypter(chainetocrypt: String; cryptkey: String): string;
  Function decrypter(chainetodecrypt: String; cryptkey: String): String;

{fonctions}
   function crypter(chainetocrypt: String; cryptkey :String) :string;
   var
   crypte: String;
   cpt,i: longint ;
begin
crypter := '';
cpt := 1;
For i := 1 To Length(chainetocrypt) do
   begin
    If cpt > Length(cryptkey) Then cpt := 1;
        If integer(ord(chainetocrypt[i])) + integer(ord(cryptkey[cpt])) > 255 Then {on vérifie que la some du code ascii ne soit pas supérieur a 255 sinon erreu}
        result := result + Char((integer(ord(chainetocrypt[i])) + integer(ord(cryptkey[cpt]))) - 255) {'si c'est le cas on enlève 255}
    Else
        result := result + Char(integer(ord(chainetocrypt[i])) + integer(ord(cryptkey[cpt]))); {'on ajoute le caractère crypté a la fonction}

    cpt := cpt + 1;
end;

End;

Function decrypter(chainetodecrypt: String; cryptkey: String):String;
   var
   crypte: String;
   cpt,i: longint ;
begin
decrypter := '';
cpt := 1;
For i := 1 To Length(chainetodecrypt) do
begin
    If cpt > Length(cryptkey) Then cpt := 1;
        If (integer(ord(chainetodecrypt[i])) - integer(ord(cryptkey[cpt]))) < 0 Then {'on vérifie que la some du code ascii ne soit pas inférieur a 0 sinon erreur}
        result := result + Char((integer(ord(chainetodecrypt[i])) - integer(ord(cryptkey[cpt]))) + 255) {'si c'est le cas on ajoute 255}
    Else
        result := result + Char(integer(ord(chainetodecrypt[i])) - integer(ord(cryptkey[cpt]))); {'on ajoute le caractère décrypté a la fonction}

    cpt := cpt + 1;
end;
End;

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mercredi 7 décembre 2011
Statut
Membre
Dernière intervention
15 avril 2012

je le voir et apres je te repponds
Messages postés
1
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
4 novembre 2010

Procedure cryptage(ch : chaine ; var ch2 : chaine)
Résultat = ch2
ch2 = [ch2 <-- "" ; c <-- ch[1] ; cpt <-- 1]
Pour i de 2 à Long(Ch) Faire
Si ch[i] = c Alors
cpt <-- cpt + 1
Sinon
ConvCh(cpt, ch3)
ch2 <-- ch2 + ch2 + c
cpt <-- 1
c <-- ch[i]
Fin Si
Fin Pour
ConvCh(cpt, ch3)
ch2 <-- ch2 + ch2 + c
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34
Dans ce cas tu es au bon endroit ... et je souhaite la bienvenue parmi nous.

Mais je te conseil de bien lire le règlement afin d'éviter à l'avenir ce genre de question qui sont, normalement, totalement interdites et sanctionnées immédiatement.

Pour le forum c'est pareil et avant de poser une question il faut faire une recherche avec le moteur du site et/ou Google ... en effet, plus 90% des questions de débutant on déjà trouvées réponses, il n'est donc plus utile de les reposer.

Voilà bonne chance pour la suite ... ;)
Messages postés
2
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
7 avril 2008

je vous remerçi de votre reponse mais je ne veux pas devenir pirates mais je voudrez devenir et surtout savoir crée des programmes
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34
Zorg66x >
Oui c'est possible en payant l'abonnement mensuel !!!!!!!

Que les choses soient bien claire ... ce que tu demandes c'est du piratage et c'est illégal. Tu n'auras jamais satisfaction sur ce genre de question ici.

Et surtout toute récidive sera sanctionnée par une suppression pure et simple du compte.
Afficher les 13 commentaires

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.