Ich mache ein Verschlüsselungsprogramm, das Wörter verschlüsselt, die der Benutzer eingibt, ich habe alles funktioniert, außer die Ausgabe des verschlüsselten Wortes, das eingegeben wurde. Hier ist, was mein Code sieht aus wie jetzt:Verschlüsseln einer Benutzereingabe
Klasse 1
public class Encryption {
String encrypt = "test";
String key;
String message;
String alpha;
Encryption(){
encrypt = Encrypt();
}
private String Encrypt(){
String[] alphabet = {
"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"
};
StringBuilder sbAlphabet = new StringBuilder();
for (int i = 0; i <= 25; i++) {
sbAlphabet.append(alphabet[i]);
}
alpha = sbAlphabet.toString();
return encrypt;
}
}
Klasse 2
package encryption;
import java.util.Random;
public class Key {
String key;
Key() {
key = genKey();
}
private String genKey() {
String[] scrambled = {
"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"
};
int r;
String temp;
String key;
StringBuilder sbScrambled = new StringBuilder();
for (int i = 0; i <= 25; i++) {
r = (int)(25*Math.random() + 1);
temp = scrambled[i];
scrambled[i] = scrambled[r];
scrambled[r] = temp;
}
for (int i = 0; i <= 25; i++) {
sbScrambled.append(scrambled[i]);
}
key = sbScrambled.toString();
return key;
}
}
Klasse 3
package encryption;
import java.util.Scanner;
public class Message {
Key key = new Key();
Encryption encrypt;
String message;
Message() {
System.out.println("Please enter an input:");
Scanner user_input = new Scanner(System.in);
message = user_input.next();
encrypt = new Encryption();
}
public static void main(String[] args) {
Message message = new Message();
System.out.println(message.key.key);
System.out.println(message.encrypt.alpha);
}
}
Die Verschlüsselungs-Klasse gibt das Alphabet, die Key-Klasse verschlüsselt das Alphabet nach dem Zufallsprinzip und zeigt es dann an, und die Message-Klasse zeigt den verschlüsselten Schlüssel und das Alphabet an der Benutzer. Heres ein Beispiel, wie es aussieht, wenn Sie es ausführen:
Please enter an input:
wew lad
mbptwuklhanjrsedzqfcyvxogi
abcdefghijklmnopqrstuvwxyz
Was ich den Code zu machen bin versucht, den Benutzer Eingang im verschlüsselten Alphabet tun ist, angezeigt werden, so würde es so aussehen:
Please enter an input:
wew lad
xwx jmt
mbptwuklhanjrsedzqfcyvxogi
abcdefghijklmnopqrstuvwxyz
schauen Ich kann mir vorstellen, dass diese Methode nicht sehr sicher ist, aber ich nehme einen Anfänger-Java-Kurs und ich soll das Projekt auf diese Weise tun. –
Ich habe gerade meine Post editiert, um zu beschreiben, wie man erreicht, was man will, und warum es eine schlechte Methode der Verschlüsselung ist. Ich nahm an, dass dies entweder für Hausaufgaben/persönliches Projekt war. – user123