CRYPTAGE EN CESAR COMPRENNANT TOUS LES SYMBOLES ASCII

Squaf Messages postés 2 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 30 novembre 2004 - 30 nov. 2004 à 00:59
cs_Aaron Messages postés 116 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 19 janvier 2009 - 31 déc. 2004 à 17:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27895-cryptage-en-cesar-comprennant-tous-les-symboles-ascii

cs_Aaron Messages postés 116 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 19 janvier 2009
31 déc. 2004 à 17:55
J'ai essaye comme ça :

Var
S: String;
I, N, X: Integer;
Begin
// Si aucune clé n'est entrée.
If Key.Text='' Then Exit;
// Mettre A.Text en minuscules...
A.Text:=LowerCase(A.Text);
// Effacer B.Text
B.Text:='';
// Enlever les espace autour de A.Text.
A.Text:=Trim(A.Text);
// Caractères possibles.
S:='abcdefghijklmnopqrstuvwxyz';
// Convertir la clé en Int.
N:=StrToInt(Key.Text);
For I:=0 To A.GetTextLen-1 Do
Begin
// Modulo au cas où N>26
N:=N Mod 26;
// Valeur du caractère i en ascii...
X:=Ord(A.Text[I+1]);
// Si X est un espace...
If X<>32 Then
Begin
// Valeur du caractère ascii-97(a=97)+la clé...
B.Text:=B.Text+S[X-97+N];
End
// Ajouter l'espace dans la chaîne...
Else B.Text:=B.Text+' ';
End;

Mais ça ne marche pas dès que la clé>25 (et moins pour les grosse chaines, je comprend pas pourquoi...) :-/
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
2 déc. 2004 à 11:27
Bon, comme j' ai essayé moi même de créer un mode de cryptage (elle est dans le commentaire de ma source sur le cryptage de VERNAM), je sais que la tâche n' est point facile, alors, je te félicite pour ton iniciative et, si tu as besoin d' aide pour créer une procédure dans une autre unit, jette un oeil sur mes sources, tu trouveras ce que tu cherches dans l' une d' elle ...
Kit3kl4t Messages postés 4 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 1 décembre 2004
1 déc. 2004 à 17:33
oups désolé pour le double post.
Pour te répondre mauricio, je sais que le Cesar est un cryptage vraiment peu fiable, facilement decryptable.
C'est dans le cadre d'un tpe et on commence par le plus simple ! Et puis j'avoue, je n'ai pas resisté à la tentation de poster un premier code :)
bon je vais de ce pas le modifier.Bye ! (thx moon :)
Kit3kl4t Messages postés 4 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 1 décembre 2004
1 déc. 2004 à 17:27
Merci pour les conseils et pour les critiques :)
je vais de ce pas regarder comment appeler une fonction à partir d'une autre unit (et oui je débute !:)
Kit3kl4t Messages postés 4 Date d'inscription mercredi 22 septembre 2004 Statut Membre Dernière intervention 1 décembre 2004
1 déc. 2004 à 17:27
Merci pour les conseils et pour les critiques :)
je vais de ce pas regarder comment appeler une fonction à partir d'une autre unit (et oui je débute !:)
cs_Mo0n Messages postés 3 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 2 décembre 2004
1 déc. 2004 à 14:41
Bravo kit ^^ Ton premier vrai programme fonctionne a merveille :D Je pense que je vais l'utiliser pour mon TPE ! lol, Bonne continuation dans la prog et a demain ++ je suis fier de toi !
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
30 nov. 2004 à 12:30
Je suis d' accord avec Squaf ...
De plus, ce cryptage n' est pas terrible vu qu' il suffit de créer un code qui va tester toutes les clés possibles pour dechiffrer!!!
Tu as un source qui s' appelle 'Chiffre VERNAM' qui t' apporte un cryptage 100% fiable vu qu' il crée une clé pour chaque lettre. D' ailleurs j' allais poster une version bien meilleure quand ton source m' a interpelé.
Squaf Messages postés 2 Date d'inscription mercredi 7 janvier 2004 Statut Membre Dernière intervention 30 novembre 2004
30 nov. 2004 à 00:59
Ton cryptage marche bien mais ton code est pas terrible a mon avis.
En effet, tes fonctions associées au bouton crypter et decrypter ne sont utilisables que dans ce contexte.
Declare les dans un autre unit, cela te permettra de les rendres plus generique et contente toi seulement de les appeller dans les procedures buttonclikc.
Cela rendra ton code exploitable par d'autre programmes que le tien. Ainsi si j'ai besoin de ton systeme de cryptage dans un autre projet, j'utilise ta nouvelle unit comprenant les fonctions qui m'interessent et je les appellent avec les bons parametres.
Cela permet aussi la disparition de tes variables globales.
Rejoignez-nous