how can we store the encrypted passwaord in swings?
The given code accepts username and password from the user in order to save data into database. The password is first encrypted and then save into database.
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.sql.*; import java.security.*; import javax.crypto.*; class Login extends JFrame implements ActionListener { JButton SUBMIT; JPanel panel; JLabel label1,label2; final JTextField text1,text2; private static String algorithm = "DESede"; private static Key key = null; private static Cipher cipher = null; private static byte[] encrypt(String input)throws Exception { cipher.init(Cipher.ENCRYPT_MODE, key); byte[] inputBytes = input.getBytes(); return cipher.doFinal(inputBytes); } private static String decrypt(byte[] encryptionBytes)throws Exception { cipher.init(Cipher.DECRYPT_MODE, key); byte[] recoveredBytes = cipher.doFinal(encryptionBytes); String recovered = new String(recoveredBytes); return recovered; } Login() { label1 = new JLabel(); label1.setText("Username:"); text1 = new JTextField(15); label2 = new JLabel(); label2.setText("Password:"); text2 = new JPasswordField(15); SUBMIT=new JButton("SUBMIT"); panel=new JPanel(new GridLayout(3,1)); panel.add(label1); panel.add(text1); panel.add(label2); panel.add(text2); panel.add(SUBMIT); add(panel,BorderLayout.CENTER); SUBMIT.addActionListener(this); } public void actionPerformed(ActionEvent ae) { try{ String uname=text1.getText(); String pass=text2.getText(); key = KeyGenerator.getInstance(algorithm).generateKey(); cipher = Cipher.getInstance(algorithm); String input = pass; byte[] encryptionBytes = encrypt(input); String passw=new String(encryptionBytes); String connectionURL = "jdbc:mysql://localhost:3306/test"; Connection con=null; Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection(connectionURL, "root", "root"); PreparedStatement ps = con.prepareStatement("INSERT INTO login(username,password) VALUES(?,?)"); ps.setString(1,uname); ps.setString(2,passw); int i = ps.executeUpdate(); ps.close(); Statement st=con.createStatement(); ResultSet rs=st.executeQuery("Select * from login where username='"+uname+"'"); String str=""; if(rs.next()){ str=rs.getString("password"); } JOptionPane.showMessageDialog(null,"Your password is decrypted successfully!"); } catch(Exception e){} } public static void main(String arg[])throws Exception { try { Login frame=new Login(); frame.setSize(300,100); frame.setVisible(true); } catch(Exception e) {JOptionPane.showMessageDialog(null, e.getMessage());} } }
Ads