java写凯撒密码将代码添加到 CipherEngine 类中的 buttonPressed方法从 TextField中将用户输入读取为 String。 接受一个 String 作为输入; 它不需要返回任何值因此它的返回类型是 void它应该是私有的因为我们只在当前的 CipherEngine类中使用它。 该方法的声明如下: private void encode String s 。在该方法中首
代码如下:
private void buttonPressed(ActionEvent event) {
String input = inputTextField.getText();
if (mode == Mode.ENCODE) {
encode(input);
encodeButton.setText("Decode");
mode = Mode.DECODE;
} else {
decode(input);
encodeButton.setText("Encode");
mode = Mode.ENCODE;
}
}
private void encode(String s) {
StringBuilder sb = new StringBuilder();
for (char c : s.toCharArray()) {
sb.append((char)(c + 3));
}
outputTextField.setText(sb.toString());
}
private void decode(String s) {
StringBuilder sb = new StringBuilder();
for (char c : s.toCharArray()) {
sb.append((char)(c - 3));
}
outputTextField.setText(sb.toString());
}
注意:这里使用的是凯撒密码的简单实现方式,加密和解密都是通过将字符的 Unicode 值加上/减去一个固定的值来实现的。实际使用中应该使用更加复杂的加密方式,否则容易被破解。此外,对于非字母的字符,这种简单的加密方式可能会导致输出的字符串不可读,因此需要在实现中进行特殊处理
原文地址: https://www.cveoy.top/t/topic/ffVV 著作权归作者所有。请勿转载和采集!