Hallo, ich habe einen Caesars Ciphers mit Java entwickelt, der einen verschlüsselten Text aus der Festplatte einliest und automatisch entschlüsselt. Der entschlüsselte Text sollte auf der eclipse-Konsole angezeigt werden. Aber aus irgendeinen Grund will mein Projekt den verschlüsselten Text nicht entziffern:
Wisst ihr vielleicht, wo hier der Fehler liegt?
Java:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.HashMap;
public class Textverschlüsselung
{
private static HashMap<Character, Character> entschluesseln;
public Textverschlüsselung(String datei, int verschiebung) throws FileNotFoundException
{
super();
entschluesseln = new HashMap<Character, Character>();
initCaesar (verschiebung);
dateiLesen(datei);
}
//-------------------------------------------------------------------------
public static String decrypt(String text){
return uebersetze(text,entschluesseln);
}
//-------------------------------------------------------------------------
private static String uebersetze(String text, HashMap<Character, Character> alphabet)
{
String kleinbuchstaben = text.toLowerCase();
String ausgabe = "";
for(int i=0; i < kleinbuchstaben.length(); i++)
{
ausgabe += alphabet.get(kleinbuchstaben.charAt(i));
}
return ausgabe;
}
//-------------------------------------------------------------------------
private void initCaesar(int verschiebung)
{
for(char schleife='A'; schleife <= 'Z';schleife++)
{
if((schleife+verschiebung) <= 'Z')
{
entschluesseln.put((char) (schleife+verschiebung), schleife);
}
else
{
entschluesseln.put((char) (schleife+verschiebung-26), schleife);
}
}
}
public static void dateiLesen (String datei) throws FileNotFoundException
{
FileReader fr = new FileReader (datei);
BufferedReader br = new BufferedReader (fr);
try {
String zeile = br.readLine();
while (zeile != null)
{
decrypt(zeile);
System.out.println(zeile);
zeile = br.readLine();
}
br.close();
} catch (Exception e){
e.printStackTrace();
}
}
public static void main(String[] args)
{
try {
new Textverschlüsselung("C://Verschluesselter Text.txt", 5);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Wisst ihr vielleicht, wo hier der Fehler liegt?