Auf Thema antworten

Ich bin soweit.


[CODE lang="java" title="Klasse crypt3"]package com.crypt;


import com.crypt.IKeyGenerator;




public class Crypt3 {

private int LENGTH=8;


public Crypted encrypt(final String unencrypted){

  IKeyGenerator keyGenerator = new KeyGenerator();

  if (unencrypted.length()<this.LENGTH){this.LENGTH=unencrypted.length();}

  String randomKey = keyGenerator.getRandomKey(this.LENGTH);

  char[] unencryptedAsCharArray = unencrypted.toCharArray();

  int j=0;

  for (int i=0; i<unencrypted.length(); i++){

     unencryptedAsCharArray+=randomKey.charAt(j);

     System.out.println ("j= "+j);

     if (j<this.LENGTH-1){j++;}

     else {j=0;}

  }

  Crypted crypted = new Crypted(String.valueOf(unencryptedAsCharArray), randomKey);

  //return String.valueOf(unencryptedAsCharArray);

 return crypted;

}



public String decrypt(final String encrypted, final String key){

char[] encryptedAsCharArray = new char[encrypted.length()];

encryptedAsCharArray = encrypted.toCharArray();

int j=0;

for (int i=0; i<encrypted.length(); i++){

  encryptedAsCharArray-=key.charAt(j);

  if (j<this.LENGTH-1){j++;}

     else {j=0;}

}

return String.valueOf(encryptedAsCharArray);

}

}

[/CODE]


Und ich hoffe das mit der Liste habe ich richtig verstanden


[CODE lang="java" highlight="20-26" title="Main"]package com.crypt;


import com.crypt.Crypt3;

import com.crypt.Crypted;



public class Ma {

  public static void main(String[] args) {

Crypt3 c = new Crypt3();

Crypted crypted = c.encrypt("Zu verschluesselnder Text der echt lang ist");

System.out.println (crypted.getKey() + " \n" + crypted.getEncrypted());

String iu= c.decrypt("¨Y©¢ª®££¡£¥P©S¢P§YU¦", "53930075");

System.out.println (iu);

iu=c.decrypt("§Y¬ª¥®ª«¡¤¨WªR©X¦Y¢¦U¥", "62967825");

System.out.println (iu);

iu=c.decrypt("¡©¯", "6875");

System.out.println (iu+ "h");

Crypted crypted2 = c.encrypt("kurz");

System.out.println (crypted2.getKey()+" \n"+ crypted2.getEncrypted());

Crypted[] cryptedArray = new Crypted[4];

cryptedArray[0]=c.encrypt("Test");

cryptedArray[1]=c.encrypt("Test");

cryptedArray[2]=c.encrypt("Test");

cryptedArray[3]=c.encrypt("Test");

for (int i=0;i<4;i++){

System.out.println (cryptedArray.getKey() + " \n" + cryptedArray.getEncrypted());

}


  }


}

[/CODE]


Die Main ist natürlich nur zum testen, deshalb so chaotisch.


Ich hätte noch 3 Fragen: kann ich eine Variable zur Laufzeit final machen?

 

Kann ich beeinflussen, dass der Verschlüsselte String im Alphabet bleibt?


Diese Vierecke sind unterschiedlich werden aber immer gleich dargestellt. Gibt es eine Möglichkeit System.out.println dazu zu bewegen dies anders auszugeben?



Oben