Viginere kódfejtés?
A programom kikódol egy kódolt karaktersort egy adott kulccsal, ha 1 karakteres kulcsot használok működik, több karakteres esetén összeomlik futtatáskor.
Íme:
#include <stdio.h>
#define KL 3
main()
{
unsigned char ch ;
FILE *fpIn, *fpOut;
int i;
unsigned char key[KL] = {0x4B, 0x49, 0x4F} ;
fpIn = fopen("ctext.txt", "r");
fpOut = fopen("dtext.txt", "w");
i=0;
while(fscanf(fpIn, "%02X", &ch) != EOF)
{
fprintf(fpOut, "%c", ch^key[i % KL ] ) ;
i++; // amint kizárom ezt a sort a programból, nem omlik össze, de csak minden harmadik betu lesz helyesen megfejtve termeszetesen.
}
fclose(fpIn);
fclose(fpOut);
return(0) ;
}
Erre a bemenetre: aaaaaa
Ezt kellene kiadja: 2A282E2A282E
Ez nem jó?
#include <stdio.h>
#include <ctype.h>
#define KL 6
main()
{
unsigned char ch,ch2 ;
FILE *fpIn, *fpOut;
int i;
unsigned char key[KL] = {'A', 'B', 'C','D','E','F'} ;
fpIn = fopen("ctext.txt", "r");
fpOut = fopen("dtext.txt", "w");
i=0;
while(fscanf(fpIn, "%c", &ch) != EOF)
{
ch2 = toupper(ch)-'A'+key[i%KL];
if ( ch2 > 90) ch2=ch2-'Z'+'A'-1;
fprintf(fpOut, "%.2x", ch2) ;
i++;
}
fclose(fpIn);
fclose(fpOut);
return(0) ;
}
Bemenet: HELLOWORLD
Kimenet: 48464e4f53424f534e47
Bár én csak nagybetűkre csináltam meg. Át lehet írni, ha meg szeretnéd különböztetni.
Nem értem, hogy a ch ^ résznél mit szerettél volna.
Ja látom, hogy dekóder kellene.
Ehhez:
#include <stdio.h>
#include <ctype.h>
#define KL 6
main()
{
int ch,ch2 ;
FILE *fpIn, *fpOut;
int i;
unsigned char key[KL] = {'A', 'B', 'C','D','E','F'} ;
fpIn = fopen("ctext.txt", "r");
fpOut = fopen("dtext.txt", "w");
i=0;
while(fscanf(fpIn, "%02x", &ch) != EOF)
{
ch2 = toupper(ch)+'A'-key[i%KL];
if ( ch2 < 65) ch2=ch2+'Z'-'A'+1;
fprintf(fpOut, "%c", ch2) ;
i++;
}
fclose(fpIn);
fclose(fpOut);
return(0) ;
}
Bemenet: 48464e4f53424f534e47
Kimenet: HELLOWORLD
Remélem jó és nincs benne egy bug.
Nálad szerintem azért a char ch miatt is fagy le.
LUCIFER-666!!!!! 😃
Most már végre tudom, hogy mi a szakmád, a valláskritika mögötti éned!!
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!