Avatar billede razzia Nybegynder
05. maj 2006 - 09:03 Der er 11 kommentarer

Dekryptering (java)

Hej alle!

Jeg er igang med til lille programmerings opgave i java, og har fået et problem som i evt. kan hjælpe mig med. Er igang med at lave et krypteringsprogram der sjovt nok både kryptere og skal dekryptere en tekst... Jeg har været ved at ændre lidt i koden, sådan at den kryptere teksten lidt bedre, men mit problem er nu så at jeg ikke kan finde ud af at få det dekrypteret igen.

Derfor vil jeg gerne have jer til at se på koden nedenfor, for at se om i kan hjælpe mig til hvad der skal laves om i koden?...

----------------------------------------

public class cryto
{
public static void main(String args[])
{
System.out.println("\n" + "Skriv hvad du vil kryptere: "); //Hjælpetekst til hvad man vil kryptere.
String userInput = SimpleIO.readLine();//Laver et input og derefter læser den skrevende tekst. Behøver SimpleIO.class
System.out.println("Krypteret");
int i =0;
int length = userInput.length();
char outPut;
int someVar;
int someVarDec;
int[] anArray = new int[userInput.length()];
    while (i < length)//Går igennem hele teksten indtil den slutter
        {

-------------------------------------------------------
HER KRYPTERE DEN!!!

            outPut = userInput.charAt(i);//Får hvert bogstav fra teksten     
            someVar = (int)outPut; //Laver hvert bogstav om til integer
            someVar = (someVar + 15) % 255; //Krypterings koden
            //someVar = someVar + i;
            //anArray[i]=someVar;
            System.out.print(" "+someVar+" ");
           
            i++;

-------------------------------------------------------

        }
          System.out.println("");
          System.out.println("-------------------------");
          System.out.println("DeKrypteret");
          int j=0;         
          while (j <anArray.length)
          {

-------------------------------------------------------
HER DEKRYPTERE DEN!!!

              someVar = anArray[j];
              someVarDec = (someVar - 15) % 255; //Dekrypterings kode
              System.out.print((char)someVarDec);
              //someVarDec = someVarDec - (anArray.length-j);
              j++;

-------------------------------------------------------

        }
      }
}



På forhånd tak!
Avatar billede innercitydk Nybegynder
05. maj 2006 - 09:17 #1
JEg vil klart anbefale at du læser en lille smule på nettet og laver RSA kryptering istedet. Den er stort set ubrydelig. Jo større en nøgle du bruger jo sværere er den også at bryde. Bruger dy f.eks en 1024 bit nøgle (et kæmpe primtal) så vil den være stort set umulig at bryde. Krypterings algoritmen er meget simpel. Gå denne artikel igennem, hent sourcekoden, og implementer den i dit eget projekt:

http://www.aviransplace.com/index.php/archives/2004/10/12/using-rsa-encryption-with-java

Vh
Avatar billede razzia Nybegynder
05. maj 2006 - 09:28 #2
hmm.. okay.. men skal ikke bruge noget så stort, eller retter denne form for kryptering ... skal bare bruge et lille program som kan kryptere en tekst og dekryptere den igen?
Avatar billede innercitydk Nybegynder
05. maj 2006 - 09:31 #3
Ok men prøv at læse artiklen det er uhyre simpelt.
Avatar billede razzia Nybegynder
05. maj 2006 - 09:36 #4
Kan du så ikke vise mig et lille eksempel på hvor simpelt det kan være at lave et lille program, der kryptere en tekst og kan dektrypteres igen?
Avatar billede innercitydk Nybegynder
05. maj 2006 - 10:21 #5
Det bliver ikke mere simpelt end den kode der følger med artiklen :) Hvis du læser artiklen samtidig er du ikke i rvivl om hvad koden gør.

http://aviran.mordos.com/files/RSAEncryptUtil.zip
Avatar billede innercitydk Nybegynder
05. maj 2006 - 10:21 #6
*tvivl
Avatar billede arne_v Ekspert
05. maj 2006 - 13:44 #7
du skal ihvertfald bruge %256 og ikke %255
Avatar billede arne_v Ekspert
05. maj 2006 - 13:45 #8
men ellers har du jo udkommenteret den kode som initialiserer det array
som du forsøger at dekryptere
Avatar billede arne_v Ekspert
05. maj 2006 - 13:46 #9
bemærk at RSA ikke er velegnet til kryptering af store data mængder

man bruger en symmetrisk kryptering (som AES) til det og så bruger man
en assymetrisk kryptering (som RSA) til at kryptere key til den symmetriske
kryptering
Avatar billede innercitydk Nybegynder
05. maj 2006 - 20:52 #10
Det er underlig jeg kan ikke se de indlæg de sidste kommentarer med mindre jeg logger ud :( Det er et generelt problem for mig..
Avatar billede arne_v Ekspert
19. juni 2006 - 00:23 #11
sker der mere her ?
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