diff --git a/src/ui/App.form b/src/ui/App.form new file mode 100644 index 0000000..bcc2db7 --- /dev/null +++ b/src/ui/App.form @@ -0,0 +1,69 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/ui/App.java b/src/ui/App.java new file mode 100644 index 0000000..dc8238a --- /dev/null +++ b/src/ui/App.java @@ -0,0 +1,27 @@ +package ui; + +import javax.swing.*; + +public class App extends JFrame { + private JPanel mainPanel; + private JButton desButton, tripleDesButton, quitterButton; + + public App() { + super("Projet Cryptographie"); + + this.add(mainPanel); + + // Actions + desButton.addActionListener(e -> new FenetreDes()); + tripleDesButton.addActionListener(e -> new FenetreTripleDes()); + quitterButton.addActionListener(e -> System.exit(0)); + + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + this.setSize(400, 250); + this.setVisible(true); + } + + public static void main(String[] args) { + new App(); + } +} diff --git a/src/ui/FenetreDes.form b/src/ui/FenetreDes.form new file mode 100644 index 0000000..3b7eae1 --- /dev/null +++ b/src/ui/FenetreDes.form @@ -0,0 +1,76 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/ui/FenetreDes.java b/src/ui/FenetreDes.java new file mode 100644 index 0000000..9a195c3 --- /dev/null +++ b/src/ui/FenetreDes.java @@ -0,0 +1,42 @@ +package ui; + +import cryptography.Des; + +import javax.swing.*; + +public class FenetreDes extends JFrame { + private final Des des; + private JPanel mainPanel; + private JTextField inputMsgClair, inputMsgCrypte; + private JButton crypterButton, decrypterButton; + + public FenetreDes() { + super("Des"); + des = new Des(); + + this.add(mainPanel); + + crypterButton.addActionListener(e -> { + String messageClair = inputMsgClair.getText(); + try { + int[] messageCrypte = des.crypte(messageClair); + inputMsgCrypte.setText(Des.bitsToString(messageCrypte)); + } catch (Exception ignored) { + new FenetreErreur("Impossible de crypter le message", this); + } + }); + + decrypterButton.addActionListener(e -> { + int[] messageCrypte = Des.stringToBits(inputMsgCrypte.getText()); + try { + String messageClair = des.decrypte(messageCrypte); + inputMsgClair.setText(messageClair); + } catch (Exception ignored) { + new FenetreErreur("Impossible de décrypter le message", this); + } + }); + + this.setSize(400, 250); + this.setVisible(true); + } +} diff --git a/src/ui/FenetreErreur.java b/src/ui/FenetreErreur.java new file mode 100644 index 0000000..78bae8e --- /dev/null +++ b/src/ui/FenetreErreur.java @@ -0,0 +1,15 @@ +package ui; + +import javax.swing.*; + +public class FenetreErreur { + + public FenetreErreur(String message, JFrame parent) { + final String TITLE = "Erreur"; + JOptionPane.showMessageDialog(parent, message, TITLE, JOptionPane.ERROR_MESSAGE); + } + + public static void main(String[] args) { + new FenetreErreur("Message", null); + } +} diff --git a/src/ui/FenetreTripleDes.form b/src/ui/FenetreTripleDes.form new file mode 100644 index 0000000..45ed37f --- /dev/null +++ b/src/ui/FenetreTripleDes.form @@ -0,0 +1,76 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/ui/FenetreTripleDes.java b/src/ui/FenetreTripleDes.java new file mode 100644 index 0000000..4a0d979 --- /dev/null +++ b/src/ui/FenetreTripleDes.java @@ -0,0 +1,44 @@ +package ui; + +import cryptography.Des; +import cryptography.TripleDes; + +import javax.swing.*; + +public class FenetreTripleDes extends JFrame { + private JPanel mainPanel; + private JTextField inputMsgClair, inputMsgCrypte; + private JButton crypterButton, decrypterButton; + + private final TripleDes tripleDes; + + public FenetreTripleDes() { + super("Triple Des"); + tripleDes = new TripleDes(); + + this.add(mainPanel); + + crypterButton.addActionListener(e -> { + String messageClair = inputMsgClair.getText(); + try { + int[] messageCrypte = tripleDes.crypte(messageClair); + inputMsgCrypte.setText(Des.bitsToString(messageCrypte)); + } catch (Exception ignored) { + new FenetreErreur("Impossible de crypter le message", this); + } + }); + + decrypterButton.addActionListener(e -> { + int[] messageCrypte = Des.stringToBits(inputMsgCrypte.getText()); + try { + String messageClair = tripleDes.decrypte(messageCrypte); + inputMsgClair.setText(messageClair); + } catch (Exception ignored) { + new FenetreErreur("Impossible de décrypter le message", this); + } + }); + + this.setSize(400, 250); + this.setVisible(true); + } +}