• 09 Juillet 2025, 21:19:27


Auteur Sujet: [Code] Le rot [lol]  (Lu 4063 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
[Code] Le rot [lol]
« le: 20 Novembre 2009, 17:30:23 »
Salut tout le monde je vous donne aujourd' hui le code qui va revolutionner le Pawn ( arg j ai oublier la negation ^^ )

une fonctionne qui crypte en Rot un proceder tres simple

Seulement parmet de changer une lettre par la lettre qui est x fois plus que elle lol ( mal expliquer mais voila )

Par exemple

x notre lettre on fait

x vaut la lettre a
rot vaut 13
donc

x + rot = la lettre n ^^


allez on s en fou des explication

forward Crypter(Texte[],Rot);
public Crypter(Texte[],Rot)
{
new i = 0;
Rot %= 26; // yeah sim ^^
while(Texte[i] != '\0')
{
if(Texte[i] >= 'a' && Texte[i] <= 'z')
{
if(Texte[i] + Rot > 'z')
{
Texte[i] += (Rot - 26);
}
else if(Texte[i] + Rot < 'a')
{
Texte[i] += (Rot + 26);
}
else
{
Texte[i] += Rot;
}
}
else if(Texte[i] >= 'A' && Texte[i] <= 'Z')
{
if(Texte[i] + Rot > 'Z')
{
Texte[i] += (Rot - 26);
}
else if(Texte[i] + Rot < 'A')
{
Texte[i] += (Rot + 26);
}
else
{
Texte[i] += Rot;
}
}

i++;
}
}


Pour crypter par exemple sim en ROT 13 faites

new str[10] = "sim";
Crypter(str,13);

a la fin

vous aurez

fvz a la place de sim cool non ?

en plus c' est facilement decryptable ( donc inutile lol )

pour decrypter vous avez juste a mettez l inverse du rot que vous avez mis au depart ^^



PS:  SURTOUT NE JAMAIS METTRE UN ROT DE 0 OU DE 26 SINON (essayez pour voir ^^)


PS2: ceci n' est pas une vrai fonction coder pour crypter c etait juste un excercice que moi et sim avont fait en C lol puis j ai transpose le code en pawn ^^


Si vous voulez le code en C le voila

void Crypter(char Texte[],int Rot)
{
int i = 0;
Rot %= 26;
while(Texte[i] != '\0')
{
if(Texte[i] >= 'a' && Texte[i] <= 'z')
{
if(Texte[i] + Rot > 'z')
{
Texte[i] += (Rot - 26);
}
else if(Texte[i] + Rot < 'a')
{
Texte[i] += (Rot + 26);
}
else
{
Texte[i] += Rot;
}
}
else if(Texte[i] >= 'A' && Texte[i] <= 'Z')
{
if(Texte[i] + Rot > 'Z')
{
Texte[i] += (Rot - 26);
}
else if(Texte[i] + Rot < 'A')
{
Texte[i] += (Rot + 26);
}
else
{
Texte[i] += Rot;
}
}

i++;
}
}

mise en page pourrit je sais ^^


Merci a SIM ^^ qui ma dit de mettre Rot %= 26; xD




Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Alex_Jhonny

  • *
  • Bandit
  • Messages: 310
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #1 le: 20 Novembre 2009, 18:37:39 »
beau boulot

Hors ligne FuSion

  • Pawn coder
  • *
  • Grand Banditisme
  • for(new i = 0; i < INFINI; i++)
  • Messages: 888
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #2 le: 20 Novembre 2009, 18:51:10 »
GG

Cela peux servir au cryptage des mots de passe ? (( Si c'est pas sa, j'ai mal compris ))

++
FS'

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #3 le: 20 Novembre 2009, 18:56:32 »
c'est un delire il me semble en gros rien capter  :lmfao
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #4 le: 20 Novembre 2009, 19:11:56 »
Salut,

c'est une fonction qui sert à crypter un texte, peut importe lequel, comme vous pouvez le deviner, cette technique n'est pas la plus sécuritaire mais c rapide et simple

ps. on a tester et ca fonction très bien^^

++Sim++





Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : Re : [Code] Le rot [lol]
« Réponse #5 le: 20 Novembre 2009, 19:16:19 »
GG

Cela peux servir au cryptage des mots de passe ? (( Si c'est pas sa, j'ai mal compris ))

++
FS'
Vu que ça peut être facilement décrypté, je le déconseille. Si tu veux bien protéger tes mots de passe (mais vraiment bien de chez bien X)), tu peux utiliser un hash haut niveau (512bits), utilise le plugin Whirlpool de Y_Less. Sinon y a le MD5 ou le SHA1 qui sont plus court =)

++
R@f

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #6 le: 20 Novembre 2009, 19:19:58 »
Utilise pas pour le cryptage de Mdp lol

c' etait juste un délire mdr ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne FuSion

  • Pawn coder
  • *
  • Grand Banditisme
  • for(new i = 0; i < INFINI; i++)
  • Messages: 888
    • Voir le profil
Re : Re : [Code] Le rot [lol]
« Réponse #7 le: 20 Novembre 2009, 19:21:29 »
Utilise pas pour le cryptage de Mdp lol

c' etait juste un délire mdr ^^

Comme si j'allais le faire

Rooh, et moi qui allait te faire confiance !

++
FS'

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #8 le: 20 Novembre 2009, 19:44:58 »
Juste le titre fait comprendre que c' est une joke ^^

Le rot [lol] j' aurais pu mettre ROT mais rot c' est plus fun et le tag Lol ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #9 le: 25 Novembre 2009, 14:39:28 »
Voici la version abrégée du bout de script de sazuke :
Crypter2 (Texte[],Rot)
{
new i = 0;
Rot %= 26;
while(Texte[i] != '\0')
{
if(Texte[i] >= 'a' && Texte[i] <= 'z')
{
Texte[i] = (((Texte[i]+Rot)-'a')%26)+'a';
}
else if(Texte[i] >= 'A' && Texte[i] <= 'Z')
{
Texte[i] = (((Texte[i]+Rot)-'A')%26)+'A';
}
i++;
}
}

Sinon, voici les fonctions de cryptage/décryptage que j'ai écrite pour Lalu's Stunt (avec une clef de 2040 bits que je ne donne pas ici bien évidement) :
new Cle[255+1]="<ICI IL FAUT METTRE 255 CARACTERES CHOISIS AU HASARD PAR EXEMPLE fHçè_y'ébJsdf....>";

/************************************
* FONCTION DE CRYPTAGE D'UNE CHAINE *
************************************/
CrypterChaine (Chaine[])
{
new Index;
new IndexCar;
new IndexCle;
new Car;
while (Chaine[Index] >= ' ')
{
IndexCar=Chaine[Index]-' ';
IndexCle=Cle[Index%256]-' ';
Car = (IndexCar+IndexCle)%95;
Chaine[Index] = Car+' ';
Index++;
}
}

/**************************************
* FONCTION DE DECRYPTAGE D'UNE CHAINE *
**************************************/
DecrypterChaine (Chaine[])
{
new Index;
new IndexCar;
new IndexCle;
new Car;
while (Chaine[Index] >=' ')
{
IndexCar=Chaine[Index]-' ';
IndexCle=Cle[Index%256]-' ';
Car = (IndexCar+95-IndexCle)%95;
Chaine[Index] = Car+' ';
Index++;
}
}
L'avantage de ces fonctions est qu'elles cryptent en donnant une chaîne de caractères qui ne contient que des caractères imprimables donc facilement stockable dans un fichier texte.
Elles fonctionnent un peu sur le même principe que la fonction de sazuke mais le décalage (rot) est donné par un des caractères de la clé et le rebouclage se fait les caractère imprimables (entre l'espace (32) et le caractère de code ASCII 127). D'ailleurs on remarquera que 127-32=95 ....
Ces fonctions ne doivent donc pas être utilisées pour crypter/décrypter des caractères accentués.

Sinon, le hashage (MD5) n'est pas réversible, il n'est pas possible de retrouver la chaîne originale avec un hash MD5. Il ne peut donc pas être utilisé si on a besoin de décrypter.

++
Syg
Courtesy of GtaManiac

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #10 le: 25 Novembre 2009, 15:01:02 »
OMG j' avoue le nombre de lignes a considerablement baisser lol



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Re : [Code] Le rot [lol]
« Réponse #11 le: 26 Novembre 2009, 09:37:54 »
OMG j' avoue le nombre de lignes a considerablement baisser lol
Oui mais le code est devenu compliqué à comprendre (même si il fait exactement la même chose que le tien).
D'ailleurs, comme le modulo est fait dans le calcul du caractère crypté, on peut même supprimer la ligne
Rot %= 26;
++
Syg
Courtesy of GtaManiac

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #12 le: 26 Novembre 2009, 10:09:29 »
J' ai tester tes deux fonction de crypting decrypting seul celle du Crypting fonctionne ^^

Mais ca a l air bon ^^

Pour
Sasuke78200

voila le resultat ^^

gCgkWKNPD@@

Et Syg ^^

gsO



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #13 le: 26 Novembre 2009, 12:15:28 »
Si tu passes la chaîne cryptée à la fonction de décryptage, tu retrouve la chaîne de départ.
Bien évidement, la clé de cryptage et de décryptage doit être la même.

D'ailleurs, je vois que ta clé est mauvaise car une même lettre ne devrait pas être codée de la même façon :
Sasuke78200
gCgkWKNPD@@


++
Syg
Courtesy of GtaManiac

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Code] Le rot [lol]
« Réponse #14 le: 26 Novembre 2009, 12:55:22 »
gCg
=
sas

C' est pareil ici aussi ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog