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