How To Code - Caesar Cipher | Cäsar Verschlüsselung in Java | Typecasting in Java

in #java5 years ago

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.

Typecasting
Quelle des Bildes

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);
    }
}

Wenn es dir geholfen hat lass doch bitte ein Upvote da! Ansonsten schreibe mir bitte konstruktive Kritik.

Sort:  

Alles richtig gemacht, weiter viel Erfolg...

Du hast ein kleines Upvote von einem Kurator des GSB erhalten. Zusätzlich erhältst du bis zu 30 weitere Votes von Mitgliedern die uns in einen Trail folgen.
Schließe dich uns an!!! klicke auf diesen Link. Wir helfen und unterstützen neue Mitglieder und Chatten in einem freundschaftlichen Miteinander.

Aktueller Kurator ist @don-thomas

N E U - jeden Donnerstag findet bei uns ab 19 Uhr die Quasselstunde statt wo du nicht nur mit uns reden kannst - es werden auch tolle Preise verlost

Coin Marketplace

STEEM 0.24
TRX 0.11
JST 0.031
BTC 61388.48
ETH 2984.48
USDT 1.00
SBD 3.65