tom le magicien
Messages postés9Date d'inscriptionsamedi 10 décembre 2005StatutMembreDernière intervention 3 avril 2006
-
10 déc. 2005 à 19:27
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
10 déc. 2005 à 23:01
salut !
voila je me suis mis au C vendredi, et j'ai créer quelques petits trucs a mon niveau
( calculatrice qui ne fait que additionner ... ) toujour dans la console
j'ai décider d'essayer de fair un petit programme (dans la console ) qui donne l' IP que l'on marque crypté .
voici le fonctionnement
on va prendre comme exemple : 152.156.231.213
Sois en système décimal :
152 *2563 = 2550136832
156 *2562 = 10223616
231 *2561 = 59136
213 *1 = 213
Si on additionne tous sa donc 2550136832+10223616+59136+213 = 2560419797
j'ai donc essayer de fair ca dans un programme mais cela ne marche pas !!
je vous donne la source :
<quote>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
unsigned long partie1 0, partie2 0, partie3 = 0, partie4 = 0;
printf("ce petit programme vas vous servir a crypter votre IP \n si vous avec besoin d'utiliser des liens ou apparait votre IP \n il vous sufira de la crypter \n et votre victime ne se doutera de rien ... \n\n\n");
printf("votre IP est constitue de 4 parties :\n111.222.333.444\n\nvous allez marquer ces parties quand je vous le demanderai\n\n");
printf("marquez si dessous la premiere partie (111) :\n"); 152.156.231.213
scanf("%d", &partie1);
printf("maintenant, marquer la partie 2 (222) :\n");
scanf("%d", &partie2);
printf("Puis marquez la partie 3 (333) :\n");
scanf("%d", &partie3);
printf("Et enfin la partie 4 (444) :\n");
scanf("%d", &partie4);
printf("\nvotre ip est donc %d.%d.%d.%d \n\n", partie1, partie2, partie3, partie4);
printf("votre IP crypte est %d%d%d%d \n", partie1 * 16777216 + partie2 * 65536 + partie3 * 256 + partie4);
system("PAUSE");
return 0;
}
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 10 déc. 2005 à 22:35
En multipliant 16777216 par un nombre, tu risque de dépasser 2^31, donc utilise des nombre non signés (unsigned int). Donc, remplace %d par %u dans le printf
Mais ce n'est pas un cryptage finalement. De plus la multiplication par 16777216, 65536 ou 256 (en fait tout nombre de la forme 2^n) revient à un décalge à gauche
tom le magicien
Messages postés9Date d'inscriptionsamedi 10 décembre 2005StatutMembreDernière intervention 3 avril 2006 10 déc. 2005 à 22:20
a mon avis c'est cette partie la :
printf("votre IP crypte est %d \n", partie1 * 16777216 + partie2 * 65536 + partie3 * 256 + partie4);
car ca me donne toujour un nombre qui n'a rien avoir avec les calculs qui sont éfféctués ...
peut etre que ce b'est pas comme ca que je dois les marquer ... je ne sais pas ..
tom le magicien
Messages postés9Date d'inscriptionsamedi 10 décembre 2005StatutMembreDernière intervention 3 avril 2006 10 déc. 2005 à 22:44
Genial merci beaucoup ca marche !!
voici le nouveau code source :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{unsigned int partie1 0, partie2 0, partie3 = 0, partie4 = 0;
printf("ce petit programme vas vous servir a crypter votre IP \n si vous avec besoin d'utiliser des liens ou apparait votre IP \n il vous sufira de la crypter \n\n\n\n");
printf("votre IP est constitue de 4 parties :\n111.222.333.444\n\nvous allez marquer ces parties quand je vous le demanderai\n\n");
printf("marquez si dessous la premiere partie (111) puis appuyez sur entree :\n");
scanf("%u", &partie1);
printf("maintenant, marquer la partie 2 (222) puis appuyez sur entree :\n");
scanf("%u", &partie2);
printf("Puis marquez la partie 3 (333) et appuyez sur entree :\n");
scanf("%u", &partie3);
printf("Et enfin la partie 4 (444) puis appuyez sur entree :\n");
scanf("%d", &partie4);
printf("\nvotre ip est donc %u.%u.%u.%u \n\n\a", partie1, partie2, partie3, partie4);
printf("votre IP crypte est %u \n", partie1 * 16777216 + partie2 * 65536 + partie3 * 256 + partie4);
system("PAUSE");
return 0;
}
Encors merci
par contre je n'ai pas trop compris le dernier message de juki_webmaster ... meme si ca marche j'aimerai bien comprendre ca pourai m'aider pour la suite ... voila encors une foi merci