Decaler d'un byte

shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 10 nov. 2005 à 16:13
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 12 nov. 2005 à 11:47
Bonjour,

je cherche a faire un systeme de cryptage de donnée assez facil, on m'a dis qu'il est possible de décaler d'un byte chaque caractere dans une chaine de caractere mais la personne ne se souvient plus comment, quelqu'un peut t'il m'aider

par exemple si je fais:
char buffer[10];
get(buffer);
prrintf("%s",buffer);

et que chaque caractere soit décaler d'un byte

.
A voir également:

11 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 nov. 2005 à 16:22
Un caractère (non unicode) est justement sur 1 byte, si on le décale d'autant il ne restera rien dedans donc 0 à tout coup.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 nov. 2005 à 16:46
De toute facon un décalage va engendrer une perte de données (sauf si on récupères les poids fort en poids faible). En tous cas, c'est une mauvaise méthode de cryptage
0
24Karas Messages postés 233 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 5 juillet 2008
10 nov. 2005 à 16:47
pt'etre décalage d'1 bit tu veux dire
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 nov. 2005 à 17:12
vecchio > peut aller pour un usage domestique.
On pousse d'1 bit sur toute la longueur et on reporte le bit qui sort du dernier octet sur le 1er octet, idem dans l'autre sens pour décrypter.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 nov. 2005 à 17:14
Pour un usage domestique, je pense qu'un complément est plus simple
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 nov. 2005 à 17:25
certain mais celui ci un peu plus original.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
10 nov. 2005 à 17:56
je me suis sans doute mal exprimé, en fait ce que je cherche c'est de faire une valeur, et decaler de cette valeur, par exemple si cette valeur est 1

a devient b
b devien c ...

si cette valeur est 2

a devient c
b devient d

etc... :s comment puis je faire ca svp
.
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
10 nov. 2005 à 18:07
Ahhh....


si tab est ton tableau de char, tu fais pour chaque indice i


tab[i]+=decalage;


if( tab[i] > 'z' ) tab[i] = 'a' + tab[i] - 'z' - 1
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
10 nov. 2005 à 18:10
Mais attention, si c'est pour cacher du texte, sache que c'est très
facile à cracker même pour quelqu'un qui ne connait pas ta méthode de
cryptage (pas même le fait que tu utilises des rotations d'octet).



En effet le 'e' apparait plus de fois que le reste .... je te laisse deviner.
0
Poufine Messages postés 5 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 10 novembre 2005
12 nov. 2005 à 03:35
c'est pas tres compliqué

char buffer[100];
char buffer2[100];
scanf("%s",buffer);



for(int i=0;i<strlen(buffer);i++)
{
buffer2[i]=buffer[i]+1;
}
buffer2[i+1]=0;
printf(buffer2);
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
12 nov. 2005 à 11:47
Sauf que scanf("%s",buffer); c'est mal, et on utilise plutot fgets
0
Rejoignez-nous