Advertisement
Ali-S0

Affine_cipher

May 5th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.06 KB | None | 0 0
  1. import java.awt.GridLayout;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4.  
  5. import javax.swing.*;
  6. public class Affine {
  7.     static String alp = "abcdefghijklmnopqrstuvwxyz";
  8.     public static void main(String[] args) {
  9.         JFrame frame = new JFrame("Affine");
  10.         frame.setLayout(new GridLayout(5, 2));
  11.         frame.setSize(500, 150);
  12.         JTextField plaintext = new JTextField();
  13.         JTextField kl0 = new JTextField();
  14.         JTextField kl1 = new JTextField();
  15.         JLabel plaintxt = new JLabel("Plaintext");
  16.         JLabel k1 = new JLabel("k1");
  17.         JLabel k0 = new JLabel("k0");
  18.         JLabel encrypted = new JLabel("Encrypted");
  19.         JLabel decrypted = new JLabel("Decrypted");
  20.         JButton encrypt = new JButton("Encrypt");
  21.         JButton decrypt = new JButton("Decrypt");
  22.         frame.add(plaintxt);
  23.         frame.add(plaintext);
  24.         frame.add(k0);
  25.         frame.add(kl0);
  26.         frame.add(k1);
  27.         frame.add(kl1);
  28.         frame.add(encrypt);
  29.         frame.add(encrypted);
  30.         frame.add(decrypt);
  31.         frame.add(decrypted);
  32.         frame.setVisible(true);
  33.         encrypt.addActionListener(new ActionListener() {
  34.             @Override
  35.             public void actionPerformed(ActionEvent arg0) {
  36.                 // TODO Auto-generated method stub
  37.                 int k1 = Integer.parseInt(kl1.getText());
  38.                 int k0 = Integer.parseInt(kl0.getText());
  39.                 String cipher = "";
  40.                 char tmp;
  41.                 int tmp2;
  42.                 for (int i = 0; i < plaintext.getText().length(); ++i) {
  43.                     tmp = plaintext.getText().charAt(i);
  44.                     tmp2 = (alp.indexOf(tmp) * k1 + k0) % 26;
  45.                     cipher += alp.charAt(tmp2);
  46.                 }
  47.                 encrypted.setText(cipher);
  48.             }
  49.         });
  50.         decrypt.addActionListener(new ActionListener() {
  51.             @Override
  52.             public void actionPerformed(ActionEvent arg0) {
  53.                 String dec = "";
  54.                 String cipher = encrypted.getText().toString();
  55.                 char tmp;
  56.                 int tmp2;
  57.                 int k0 = Integer.parseInt(kl0.getText());
  58.                 int k1 = Integer.parseInt(kl1.getText());
  59.                 for (int i = 0; i < cipher.length(); ++i) {
  60.                     tmp = cipher.charAt(i);
  61.                     tmp -= k0;
  62.                     tmp2 = (alp.indexOf(tmp) / k1) % 26;
  63.                     dec += alp.charAt(tmp2);
  64.                 }
  65.                 decrypted.setText(dec);
  66.             }
  67.         });
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement