Guest User

Untitled

a guest
Apr 27th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.98 KB | None | 0 0
  1.  
  2. public class Crypto {
  3.  
  4. //  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'};
  5. // 
  6. //  public static void encrypt( int stellenVersatz, char... neuesAlph ) throws Exception {     
  7. //      if( stellenVersatz != 0 && neuesAlph.length == 0 ) {       
  8. ////            Verfahren mit Stellenversatz ( Cäsar )
  9. //          for( int i = 0; i < CharArrayOps.eingabe.length-1; i++ ) {
  10. //              int alphPos = 0;
  11. //             
  12. //              // Position im Alphabet finden
  13. //              for( int j = 0; j < Alph.length; j++ ) {
  14. //                  if( CharArrayOps.eingabe[i] == Alph[j] ) {
  15. //                      alphPos = j;
  16. //                  }
  17. //              }
  18. //             
  19. //              // Im Notfall wieder vorne bei 'a' anfangen
  20. //              if( !((alphPos + stellenVersatz) >= Alph.length) && CharArrayOps.eingabe[i] != ' ' ) {
  21. //                  // Normale Verschiebung
  22. //                  CharArrayOps.eingabe[i] = Alph[alphPos+stellenVersatz];
  23. //              }else if (CharArrayOps.eingabe[i] != ' ') {
  24. //                  // Bei 'a' neu beginnen
  25. //                  CharArrayOps.eingabe[i] = Alph[((alphPos + stellenVersatz)%Alph.length)];
  26. //              }else {
  27. //                  // Leerzeichen durch ein solches ersetzen
  28. //                  CharArrayOps.eingabe[i] = ' ';
  29. //              }
  30. //             
  31. //              // Nur Kleinbuchstaben und Leerzeichen erlauben
  32. //              if( (CharArrayOps.eingabe[i] < 'a' || CharArrayOps.eingabe[i] > 'z') && CharArrayOps.eingabe[i] != ' ' ) {
  33. //                  System.out.println("Fehler!");
  34. //                  return;
  35. //              }
  36. //          }
  37. //      }else {
  38. ////            Bijektiv
  39. //          for( int i = 0; i < CharArrayOps.eingabe.length-1; i++ ) {
  40. //              int alphPos = 0;
  41. //             
  42. //              for( int j = 0; j < Alph.length; j++ ) {
  43. //                  if( CharArrayOps.eingabe[i] == Alph[j] ) {
  44. //                      alphPos = j;
  45. //                  }
  46. //              }
  47. //             
  48. //              if( CharArrayOps.eingabe[i] == ' ' ) {
  49. //                  CharArrayOps.eingabe[i] = ' ';
  50. //              }else if( (CharArrayOps.eingabe[i] < 'a' || CharArrayOps.eingabe[i] > 'z') && CharArrayOps.eingabe[i] != ' ' ) {
  51. //                  System.out.println("Fehler!");
  52. //                  return;
  53. //              }else {
  54. //                  CharArrayOps.eingabe[i] = neuesAlph[alphPos];
  55. //              }
  56. //          }
  57. //      }
  58. //  }
  59. // 
  60. //  public static void decrypt( int stellenVersatz, char... neuesAlph ) throws Exception {     
  61. //      if( stellenVersatz != 0 && neuesAlph.length == 0 ) {
  62. ////            Cäsar
  63. //          for( int i = 0; i < CharArrayOps.eingabe.length-1; i++ ) {
  64. //              int alphPos = 0;
  65. //             
  66. //              for( int j = 0; j < Alph.length; j++ ) {
  67. //                  if( CharArrayOps.eingabe[i] == Alph[j] ) {
  68. //                      alphPos = j;
  69. //                  }
  70. //              }
  71. //              if( !((alphPos - stellenVersatz) < 0) && CharArrayOps.eingabe[i] != ' ' ) {
  72. //                  CharArrayOps.eingabe[i] = Alph[alphPos-stellenVersatz];
  73. //              }else if (CharArrayOps.eingabe[i] != ' ') {
  74. //                  CharArrayOps.eingabe[i] = Alph[((alphPos - stellenVersatz)+Alph.length)];
  75. //              }else {
  76. //                  CharArrayOps.eingabe[i] = ' ';
  77. //              }
  78. //             
  79. //              if( (CharArrayOps.eingabe[i] < 'a' || CharArrayOps.eingabe[i] > 'z') && CharArrayOps.eingabe[i] != ' ' ) {
  80. //                  System.out.println("Fehler!");
  81. //                  return;
  82. //              }
  83. //          }
  84. //      }else {
  85. ////            Bijektiv
  86. //          Alph = neuesAlph;
  87. //          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'};
  88. //          encrypt(0, copyArray);
  89. //      }
  90. //  }
  91.     public static char[] encryptCaesar( char[] klartext, int key ) {
  92.         for( int i = 0; i < klartext.length; i++ ) {
  93.             if( (klartext[i] - 97 + key) >= 26 ) {
  94.                 klartext[i] = (char)(((klartext[i] + key - 97)%26 )+97);
  95.             }else if( klartext[i] < 'a' || klartext[i] > 'z' ) {
  96.                 // nothing to do
  97.                 continue;
  98.             }else {
  99.                 klartext[i] = (char)(klartext[i] + key);               
  100.             }
  101.         }
  102.         return klartext;
  103.     }
  104.    
  105.     public static char[] decryptCaesar( char[] code, int key ) {
  106.         key = 26 - key;
  107.         return encryptCaesar(code, key);
  108.     }
  109.    
  110.     public static char[] encryptBijektiv( char[] klartext, char[] keyAlph ) {
  111.         for( int i = 0; i < klartext.length; i++ ) {
  112.             if( klartext[i] < 'a' || klartext[i] > 'z' ) {
  113.                 // nothing to do
  114.                 continue;
  115.             }else {
  116.                 klartext[i] = keyAlph[ klartext[i]-'a' ];              
  117.             }
  118.         }
  119.         return klartext;
  120.     }
  121.    
  122.     public static char[] decryptBijektiv( char[] klartext, char[] keyAlph ) {
  123. //      for( int i = 0; i < keyAlph.length; i++ ) {
  124. //          keyAlph[i] = (char)(i + 97);
  125. //      }
  126.        
  127.         return encryptBijektiv(klartext, keyAlph); //encryptBijektiv(klartext, keyAlph);
  128.     }
  129.    
  130.     public static void main(String[] args) throws Exception{
  131.        
  132.         int key = 2;
  133.         char[] keyAlph = "lqrvcykmaduxbeitnwhpfsogzj".toCharArray();
  134.        
  135.         char[] klartext = "kleiner test +-*/#".toCharArray();
  136.        
  137.         // Aufgabe C1
  138. //      char[] codeCaesar = encryptCaesar(klartext, key);
  139. //      System.out.println( codeCaesar );
  140. //     
  141. //      klartext = decryptCaesar(codeCaesar, key);
  142. //      System.out.println( klartext );
  143.        
  144.         // Aufgabe C2
  145.         char[] codeBijektiv = encryptBijektiv(klartext, keyAlph);
  146.         System.out.println( codeBijektiv );
  147.        
  148.         klartext = decryptBijektiv(codeBijektiv, keyAlph);
  149.         System.out.println( klartext );
  150. //     
  151. //      CharArrayOps.set_eingabe();
  152. //      decrypt(0, neuesAlph);
  153. //      CharArrayOps.get_eingabe();
  154.     }
  155.  
  156. }
Add Comment
Please, Sign In to add comment