15. januar 2005 - 03:11Der er
12 kommentarer og 1 løsning
XOR kryptering.
Jeg vil gerne vide hvordan et evt. XOR krypterings-program kunne se ud, kravene til programmet er at man skal kunne vælge en key selv, på en længde man selv vælger. Programmet skal desuden være i stand til at læse data fra en fil og skrive det til en anden fil.
Men ikke nok med det, jeg vil også gerne have en hel del kommentarer til hvad der sker i programmet og hvorfor lige denne funktion er smart mv.
Jeg har kendskab til XOR's funktion og hvordan krypteringen virker, men jeg kan ikke få lære/skrive delen til at virke og ved ikke hvordan jeg skal håndtere dataet fra filen ...
Håber at i kan hjælpe og vil hjælpe mig. Mvh Smily
Takker, det er da svar på en del af spørgsmålet, men de funktioner du bruger kender jeg ikke helt 100%, f.eks. den funktion der hedder malloc, jeg skrev at jeg meget gerne ville have et par kommentarer knyttet til koden, så hvis du har tid må du gerne skrive lidt fra linien med malloc til linien " plain[l] = '\0'; "
int main() { int i; char plain[] = "Dette er en lille test"; char key[] = "TBFRGFARFM"; char *cipher; int l = strlen(plain); cipher = (char *)malloc(l); /* alloker dynamisk plads til de krypterede (fylder samme som det ukrypterede) */ for(i=0;i<l;i++) cipher[i] = plain[i] ^ key[i % strlen(key)]; /* krypter hver enkelt byte */ cipher[l] = '\0'; /* nul terminering - faktisk overflødig da cipher er binær ! */ printf("%s -> %s\n",plain,cipher); /* udskriv - bemærk at cipher er binær og garbage */ for(i=0;i<l;i++) plain[i] = cipher[i] ^ key[i % strlen(key)]; /* dekrypter hver byte */ plain[l] = '\0'; /* nul termininering - og her gør den nytte */ printf("%s -> %s\n",cipher,plain); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.