Avatar billede emileej Nybegynder
29. april 2001 - 20:22 Der er 4 kommentarer og
2 løsninger

Mig og min encode funktion...

Jeg har lavet en lille funktion i Borland C++ Builder, der skal kode en tekst ud fra en kode. Jeg får ingen fejlmeddelelser - det er bare en af de sjawe hvor intet sker :o)~

Min funktion:

void __fastcall ThovedVindue::krypterKnapClick(TObject *Sender)
{
        tekst->Enabled=false;
        krypteringsKode->Enabled=false;
        int j=1, tekstLen=tekst->GetTextLen(), kodeLen=krypteringsKode->GetTextLen();
        for(int i=1;i < tekstLen;i++){
                int chr=(int)tekst->Text[i];
                chr+=(int)krypteringsKode->Text[j];
                if(chr >= 255)
                        chr-=255;
                tekst->Text[i]=(char)chr;
                if(j < kodeLen)
                        j++;
                else
                        j=1;
        }
        tekst->Enabled=true;
        krypteringsKode->Enabled=true;
}

E-)mil
http://eej.dk/
http://fotx.net/emileej/
Avatar billede borrisholt Novice
30. april 2001 - 17:36 #1
Jeg ved ikke lige hvad du gør galt ...


Her er i hvertfalt et lille C++ program der kan kryptere ved hjælp af cæsar hjulet :

void CeasarChipper (char * Sounce, int Turns)
{
  int
      tekstLen = strlen(Sounce),
      tmp;
 
  for (int i= 0 ; i<tekstLen; ++i)
  {
      tmp =  (int)Sounce[i];
      tmp +=  Turns;
      tmp %= 256;
      Sounce[i] = (char)tmp;
  }
}

int main( int argc, char *argv[] )
{

    char buf[30] = \"Angrib\";
    printf(\"Klar Text : %s\\n\",buf);
    CeasarChipper (buf, 15);
    printf(\"Krypteret text : %s\\n\",buf);
    CeasarChipper (buf, -15);
    printf(\"Dekrypteret text : %s\\n\",buf);


    return 0;
}




JEns B
Avatar billede borrisholt Novice
30. april 2001 - 17:43 #2
her har du en anden du kan bruge. Det er en XOR algoritme der er brugt :

void  SimpleChipper(char *Source, const char * Key)
{
  int
      tekstLen = strlen(Source),
      keyLen = strlen(Key);

  for (int i = 0; i<tekstLen; ++i)
    for (int j = 0; j<keyLen; ++j)
        Source[i] = Source[i] ^ Key[j];

}


int main( int argc, char *argv[] )
{
    printf(\"Klar Text : %s\\n\",buf);
    SimpleChipper (buf, \"djagjsksde\");
    printf(\"Krypteret text : %s\\n\",buf);
    SimpleChipper (buf, \"djagjsksde\");
    printf(\"Dekrypteret text : %s\\n\",buf);

    return 0;
}


Som det ses er den sing egen resiprokke.

Jens B. http://fotx.net/borrisholt
Avatar billede emileej Nybegynder
04. maj 2001 - 13:53 #3
DET HER ER WIRED!

Encode funktionen virker ikke når man kører exe filen fra der hvor den er kompileret, men kopierer man den et andet sted hen, virker den glimrende!

Hvad sker der?!

E-)mil
Avatar billede emileej Nybegynder
04. maj 2001 - 15:43 #4
Doesnt make sence! :(

Nu er det den anden vej rundt - encode funktionen virker kun når exe filen er i det bibliotek den blev kompileret i! :(
Jeg kompilerer ved hjælp af Project->Build EEJEdit er det galt?

E-(mil
http://eej.dk/
http://fotx.net/emileej/
Avatar billede emileej Nybegynder
06. maj 2001 - 11:56 #5
Hmmm... Det virker nu - så jeg er ikke meget for at ændre i koden :o)

Hvis der er nogen, der kender til problemet, vil jeg godt liiige høre det :)

E-)mil
Avatar billede emileej Nybegynder
11. maj 2001 - 11:29 #6
Det er lidt noget rod mht. min TRichEdit komponent, og jeg har oprettet nogle andre spørgsmål til, at kludre det ud...
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