Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Crypto {
- // public static char[] Alph = new char[] {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
- //
- // public static void encrypt( int stellenVersatz, char... neuesAlph ) throws Exception {
- // if( stellenVersatz != 0 && neuesAlph.length == 0 ) {
- //// Verfahren mit Stellenversatz ( Cäsar )
- // for( int i = 0; i < CharArrayOps.eingabe.length-1; i++ ) {
- // int alphPos = 0;
- //
- // // Position im Alphabet finden
- // for( int j = 0; j < Alph.length; j++ ) {
- // if( CharArrayOps.eingabe[i] == Alph[j] ) {
- // alphPos = j;
- // }
- // }
- //
- // // Im Notfall wieder vorne bei 'a' anfangen
- // if( !((alphPos + stellenVersatz) >= Alph.length) && CharArrayOps.eingabe[i] != ' ' ) {
- // // Normale Verschiebung
- // CharArrayOps.eingabe[i] = Alph[alphPos+stellenVersatz];
- // }else if (CharArrayOps.eingabe[i] != ' ') {
- // // Bei 'a' neu beginnen
- // CharArrayOps.eingabe[i] = Alph[((alphPos + stellenVersatz)%Alph.length)];
- // }else {
- // // Leerzeichen durch ein solches ersetzen
- // CharArrayOps.eingabe[i] = ' ';
- // }
- //
- // // Nur Kleinbuchstaben und Leerzeichen erlauben
- // if( (CharArrayOps.eingabe[i] < 'a' || CharArrayOps.eingabe[i] > 'z') && CharArrayOps.eingabe[i] != ' ' ) {
- // System.out.println("Fehler!");
- // return;
- // }
- // }
- // }else {
- //// Bijektiv
- // for( int i = 0; i < CharArrayOps.eingabe.length-1; i++ ) {
- // int alphPos = 0;
- //
- // for( int j = 0; j < Alph.length; j++ ) {
- // if( CharArrayOps.eingabe[i] == Alph[j] ) {
- // alphPos = j;
- // }
- // }
- //
- // if( CharArrayOps.eingabe[i] == ' ' ) {
- // CharArrayOps.eingabe[i] = ' ';
- // }else if( (CharArrayOps.eingabe[i] < 'a' || CharArrayOps.eingabe[i] > 'z') && CharArrayOps.eingabe[i] != ' ' ) {
- // System.out.println("Fehler!");
- // return;
- // }else {
- // CharArrayOps.eingabe[i] = neuesAlph[alphPos];
- // }
- // }
- // }
- // }
- //
- // public static void decrypt( int stellenVersatz, char... neuesAlph ) throws Exception {
- // if( stellenVersatz != 0 && neuesAlph.length == 0 ) {
- //// Cäsar
- // for( int i = 0; i < CharArrayOps.eingabe.length-1; i++ ) {
- // int alphPos = 0;
- //
- // for( int j = 0; j < Alph.length; j++ ) {
- // if( CharArrayOps.eingabe[i] == Alph[j] ) {
- // alphPos = j;
- // }
- // }
- // if( !((alphPos - stellenVersatz) < 0) && CharArrayOps.eingabe[i] != ' ' ) {
- // CharArrayOps.eingabe[i] = Alph[alphPos-stellenVersatz];
- // }else if (CharArrayOps.eingabe[i] != ' ') {
- // CharArrayOps.eingabe[i] = Alph[((alphPos - stellenVersatz)+Alph.length)];
- // }else {
- // CharArrayOps.eingabe[i] = ' ';
- // }
- //
- // if( (CharArrayOps.eingabe[i] < 'a' || CharArrayOps.eingabe[i] > 'z') && CharArrayOps.eingabe[i] != ' ' ) {
- // System.out.println("Fehler!");
- // return;
- // }
- // }
- // }else {
- //// Bijektiv
- // Alph = neuesAlph;
- // char[] copyArray = new char[] {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
- // encrypt(0, copyArray);
- // }
- // }
- public static char[] encryptCaesar( char[] klartext, int key ) {
- for( int i = 0; i < klartext.length; i++ ) {
- if( (klartext[i] - 97 + key) >= 26 ) {
- klartext[i] = (char)(((klartext[i] + key - 97)%26 )+97);
- }else if( klartext[i] < 'a' || klartext[i] > 'z' ) {
- // nothing to do
- continue;
- }else {
- klartext[i] = (char)(klartext[i] + key);
- }
- }
- return klartext;
- }
- public static char[] decryptCaesar( char[] code, int key ) {
- key = 26 - key;
- return encryptCaesar(code, key);
- }
- public static char[] encryptBijektiv( char[] klartext, char[] keyAlph ) {
- for( int i = 0; i < klartext.length; i++ ) {
- if( klartext[i] < 'a' || klartext[i] > 'z' ) {
- // nothing to do
- continue;
- }else {
- klartext[i] = keyAlph[ klartext[i]-'a' ];
- }
- }
- return klartext;
- }
- public static char[] decryptBijektiv( char[] klartext, char[] keyAlph ) {
- // for( int i = 0; i < keyAlph.length; i++ ) {
- // keyAlph[i] = (char)(i + 97);
- // }
- return encryptBijektiv(klartext, keyAlph); //encryptBijektiv(klartext, keyAlph);
- }
- public static void main(String[] args) throws Exception{
- int key = 2;
- char[] keyAlph = "lqrvcykmaduxbeitnwhpfsogzj".toCharArray();
- char[] klartext = "kleiner test +-*/#".toCharArray();
- // Aufgabe C1
- // char[] codeCaesar = encryptCaesar(klartext, key);
- // System.out.println( codeCaesar );
- //
- // klartext = decryptCaesar(codeCaesar, key);
- // System.out.println( klartext );
- // Aufgabe C2
- char[] codeBijektiv = encryptBijektiv(klartext, keyAlph);
- System.out.println( codeBijektiv );
- klartext = decryptBijektiv(codeBijektiv, keyAlph);
- System.out.println( klartext );
- //
- // CharArrayOps.set_eingabe();
- // decrypt(0, neuesAlph);
- // CharArrayOps.get_eingabe();
- }
- }
Add Comment
Please, Sign In to add comment