Advertisement
Guest User

Vingnere Verschlüsselung Q2

a guest
Jan 12th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. /**
  2. * Klasse Caesar.
  3. */
  4. public class Caesar
  5. {
  6. private String original, chiffrat, dechiffrat, schlüsselwort;
  7.  
  8. /**
  9. * Konstruktor für Objekte der Klasse Caesar
  10. */
  11. public Caesar() {
  12. original = "ORIGINAL";
  13. chiffrat = "CHIFFRAT";
  14. dechiffrat = "DECHIFFRAT";
  15. schlüsselwort = "A";
  16. }
  17.  
  18. /**
  19. * setzt den Schlüssel.
  20. */
  21. public void setzeSchluessel(String extschlüssel){
  22. schlüsselwort = extschlüssel.toUpperCase();
  23. }
  24.  
  25. /**
  26. * setzt den Originaltext.
  27. */
  28. public void setzeOriginal(String text){
  29. original=text.toUpperCase();
  30. }
  31.  
  32. /**
  33. * setzt den Chiffrattext.
  34. */
  35. public void setzeChiffrat(String text){
  36. chiffrat=text.toUpperCase();
  37. }
  38.  
  39. /**
  40. * zeigt das Chiffrat an.
  41. */
  42. public String gibChiffrat(){
  43. return chiffrat;
  44. }
  45.  
  46. /**
  47. * zeigt das Dechiffrat an.
  48. */
  49. public String gibDechiffrat(){
  50. return dechiffrat;
  51. }
  52.  
  53. // Übersetzungsmethoden:
  54.  
  55. /**
  56. * chiffriert ein einzelnes Zeichen
  57. * mit dem definierten Schlüsselbuchstaben.
  58. */
  59. private char chiffriereEinZeichen(char zeichen, int i) {
  60. int zahl = (int) zeichen;
  61. int key = (int) schlüsselwort.charAt(i%schlüsselwort.length());
  62. int ergebnis = ((zahl-65 + key-65+78) % 26) + 65;
  63. return (char) ergebnis;
  64. }
  65.  
  66. /**
  67. * dechiffriert ein einzelnes Zeichen
  68. * mit dem definierten Schlüsselbuchstaben.
  69. */
  70. private char dechiffriereEinZeichen(char zeichen,int i) {
  71. int zahl = (int) zeichen;
  72. int key = (int) schlüsselwort.charAt(i%schlüsselwort.length());
  73. int ergebnis = ((zahl-65 - (key-65) + 78) % 26) + 65;
  74. return (char) ergebnis;
  75. }
  76.  
  77. /**
  78. * chiffriert den Original-Text
  79. * mit dem definierten Schlüsselbuchstaben.
  80. */
  81. public void chiffriere() {
  82. StringBuffer temp = new StringBuffer();
  83. for (int i=0; i<original.length();i++)
  84. {
  85. // Absicherung auf Großbuchstaben: if (original.charAt(i)>64) if (original.charAt(i)<91)
  86. temp.append(chiffriereEinZeichen(original.charAt(i),i));
  87. chiffrat=temp.toString();
  88. }}
  89.  
  90. /**
  91. * dechiffriert den Chiffrat-Text
  92. * mit dem definierten Schlüsselbuchstaben.
  93. */
  94. public void dechiffriere() {
  95. StringBuffer temp = new StringBuffer();
  96. for (int i=0; i<chiffrat.length();i++)
  97. {
  98. // Absicherung auf Großbuchstaben: if (chiffrat.charAt(i)>64) if (chiffrat.charAt(i)<91)
  99. temp.append(dechiffriereEinZeichen(chiffrat.charAt(i),i));
  100. dechiffrat=temp.toString();
  101. }}
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement