How To Code - Caesar Cipher | Cäsar Verschlüsselung in Java
Was ist die Caesar-Verschlüsselung?
Die Caesar-Verschlüsselung ist ein einfaches symmetrisches Verschlüsselungsverfahren, das auf der monographischen und monoalphabetischen Substitution basiert. Dies ist eine sehr einfache und Einsteiger-freundliche Verschlüsselung.
Bei der Verschlüsselung wird jeder Buchstabe des Klartexts(Der Text den man verschlüsseln möchte) auf einen Geheimtextbuchstaben abgebildet. Diese Abbildung ergibt sich, indem man die Zeichen eines geordneten Alphabets um eine bestimmte Anzahl nach rechts verschiebt. Das Passwort ist somit die Anzahl, um die die Buchstaben verschoben werden.
Was ist Typecasting?
Mit Typecasting kann man in Java ASCII-Werte in Buchstaben, oder Buchstaben zurück ASCII-Werte umwandeln. Diese Funktion ruft man mit dem gewünschten Typ vor dem anderen Type in Klammern auf. Hierzu ein Beispiel:
Typecasting Besipiel
public void VonBuchstabeZuZahl(){
int zahlVonBuchStabeA = (int)'A';
System.out.println(zahlVonBuchStabeA);
}
public void VonZahlZuBuchstabe(){
int BuchstabeVonZahl65 = (char)65;
System.out.println(BuchstabeVonZahl65);
}
Um einen Text zu verschlüsseln muss man eine Instanz/ ein Objekt dieser Klasse erstellen und die Methode encryptChar() verwenden, zum entschlüsseln decryptChar().
Der fertige Code
public class Caesar{
//CONSTRUKTOR
public Caesar(){
}
//ENCRYPTING
public String encryptString(String text, int password){
String ret = "";
for(int i = 0; i < text.length(); i++){
ret += encryptChar(text.charAt(i), password);
}
return ret;
}
private char encryptChar(char chr, int password){
return (char)((int)chr + password);
}
//DECRYPTING
public String decryptString(String text, int password){
String ret = "";
for(int i = 0; i < text.length(); i++){
ret += decryptChar(text.charAt(i), password);
}
return ret;
}
private char decryptChar(char chr, int password){
return (char)((int)chr - password);
}
}
Source
Copying and pasting previous posts could be seen as spam when:
If you believe this comment is in error, please contact us in #disputes on Discord
Hi! I am a robot. I just upvoted you! Readers might be interested in similar content by the same author:
https://steemit.com/java/@derelias/how-to-code-caesar-cipher-or-caesar-verschluesselung-in-java-or-typecasting-in-java
Hey, Du wurdest von @altobot gevotet!
Guten Tag,
Mein Name ist GermanBot und du hast von mir ein Upvote erhalten. Als UpvoteBot möchte ich dich und dein sehr schönen Beitrag unterstützen. Jeden Tag erscheint ein Voting Report um 19 Uhr, in dem dein Beitrag mit aufgelistet wird. In dem Voting Report kannst du auch vieles von mir erfahren, auch werden meine Unterstützer mit erwähnt. Schau mal bei mir vorbei, hier die Votings Reports. Mach weiter so, denn ich schaue öfter bei dir vorbei.
Euer GermanBot