Avatar billede zeros Nybegynder
25. april 2003 - 12:55 Der er 8 kommentarer og
1 løsning

let kryptering..

Hej..
Jeg skal bruge et lille program som kan kryptere/dekryptere en fil.. f.eks en txt fil.. som man selv angiver inde i programmet, tænke mig at den loader linie for linie og kryptere det..

selve krypteringen skal bare være let.. feks at bytte "abcde..." ud med "badce..." ikke noget vildt kryptering.. :)
Avatar billede arne_v Ekspert
25. april 2003 - 13:00 #1
Hvis du skal bruge det til noget sikkert så download et modul med en
professionel kryptering f.eks. 3DES aller AES.

Til at gøre noget ulæseligt for det menneskelige øje kan du
jo bruge klassisk Cæsar:

void encrypt(char *plain, char *cipher, int n)
{
  int i;
  for(i=0;i<n;i++) cipher[i] = plain[i] + 4;
  return;
}
Avatar billede arne_v Ekspert
25. april 2003 - 13:03 #2
void decrypt(char *cipher, char *plain, int n)
{
  int i;
  for(i=0;i<n;i++) plain[i] = cipher[i] - 4;
  return;
}

char plain[100];
char cipher[100];
char plain2[100];
strcpy(plain,"Dette er en test!");
encrypt(plain, cipher, strlen(plain));
cipher[strlen(plain)]='\0';
decrypt(cipher, plain2, strlen(plain));
plain2[strlen(plain)]='\0';
Avatar billede arne_v Ekspert
25. april 2003 - 13:04 #3
Og lad mig understrege igen: denne form for kryptering er *ABSOLUT INTET*
værd som reel kryptering.
Avatar billede zeros Nybegynder
25. april 2003 - 13:16 #4
det der kan jeg ik bruge.. ikke det som jeg spurgte efter... programmet skal kunne loade en fil som man selv angiver.. og ville helst have den "krypting" som bare bytte tegnene ud.. feks. a'er med j'er, b'er med k'er osv..
Avatar billede arne_v Ekspert
25. april 2003 - 13:24 #5
Øh.

Ovenstående er kun selve krypteringen. Hele programmet skal naturligvis
læse fil + kryptere + skrive fil og læse fil + dekryptere + skrive fil.
Jeg kan også godt lave hele programmet , men jeg troede at det kun
var krypteringen der var problemet.

Ovenstående konvetrere bogstaverne. A bliver til E, B bliver til F
etc. (de bliver rykket 4 takker).

Hvis du hellere vil have et swap af 1 og 2, 3 og 4 etc. kan jeg også godt lave
det.
Avatar billede zeros Nybegynder
25. april 2003 - 13:28 #6
okay.. ville være kanont hvis du ville.. har nemlig travlt.. skal bruge det i en opgave..
Avatar billede arne_v Ekspert
25. april 2003 - 13:34 #7
#include <stdio.h>

int main()
{
  FILE *fp1,*fp2;
  char line[100];
  int i,l;
  char tmp;
  fp1=fopen("test.dat","r");
  fp2=fopen("nytest.dat","w");
  while(!feof(fp1)) {
      fgets(line,sizeof(line),fp1);
      l=(strlen(line)-1)/2;
      for(i=0;i<l;i++) {
          tmp=line[2*i];
          line[2*i]=line[2*i+1];
          line[2*i+1]=tmp;
      }
      fputs(line,fp2);
  }
  fclose(fp1);
  fclose(fp2);
}

gør vist det du bad om.
Avatar billede arne_v Ekspert
25. april 2003 - 13:35 #8
Ihvertfald bliver:

abcde
123456

til:

badce
214356
Avatar billede zeros Nybegynder
25. april 2003 - 14:10 #9
okay.. tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester