هذا مثال لتشفير و فك تشفير نص بسيط شرح المثال: كلمة ِahmed يشفرها ل aehdm. ، يضيف نقطة إذا كان طول النص لا يقبل القسمة على 2 ، وعند الضغط على فك تشفير المفروض يرجعها كما كانت ، المشكلة إن لا يوجد خطأ في الأكواد و يعطيني Exception
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
/**
*
* @author Muhammed_Pro
*/
public class Encryption extends JFrame {
JTextField t1, t2,t3;
JButton b1,b2;
public Encryption() {
setLayout(new FlowLayout());
t1 = new JTextField(10);
t2 = new JTextField(10);
b1 = new JButton("تشفير");
b2 = new JButton("فك التشفير");
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String txt = t1.getText();
if (txt.length() % 2 != 0) {
txt += ".";
int m = txt.length() / 2;
String P1 = txt.substring(0, m);
String P2 = txt.substring(m);
String code = "";
for (int i = 0; i < m; i++) {
code = code + P1.charAt(i) + P2.charAt(i);
t2.setText(code);
}
}
}
});
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String s = t2.getText();
String d1 = "";
String d2 = "";
for (int i=1; i < s.length();i+=2){
d2 = d2 + s.charAt(i);
t3.setText(d1+d2);
}
for (int i=1; i < s.length();i+=2){
d2 = d2 + s.charAt(i);
t3.setText(d1+d2);
}
}
});
add(t1);
add(t2);
add(t3);
add(b1);
add(b2);
setVisible(true);
setSize(100, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}