import java.net.NetworkInterface; import java.net.SocketException; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.Enumeration; public class PasswordManager { static String name = ""; static String pwd = ""; static Crypto crypto; public PasswordManager() { try { String as = getMACAddress(); as = as.substring(0, 22); as = as + "aldez2@"; crypto = new Crypto(as); } catch (Exception e1) { e1.printStackTrace(); } } public static void getData() { try { Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager .getConnection("jdbc:sqlite:test.db"); Statement stat = conn.createStatement(); DatabaseMetaData dbm = conn.getMetaData(); ResultSet rs = dbm.getTables(null, null, "login", null); if (rs.next()) { ResultSet rs1 = stat.executeQuery("select * from login;"); while (rs1.next()) { name = rs1.getString("name"); String encpwd = rs1.getString("pwd"); // System.out.print(encpwd); pwd = crypto.decrypt(encpwd); // System.out.print(pwd); } rs1.close(); } rs.close(); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } } public String getUserName() { return name; } public String getPwd() { return pwd; } public static void storeData(String uname, String upwd) { name = uname; pwd = upwd; try { Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager .getConnection("jdbc:sqlite:test.db"); Statement stat = conn.createStatement(); stat.executeUpdate("drop table if exists login;"); stat.executeUpdate("create table login (name, pwd);"); PreparedStatement prep = conn .prepareStatement("insert into login values (?, ?);"); prep.setString(1, name); String encPwd = crypto.encrypt(pwd); prep.setString(2, encPwd); System.out.print(encPwd); prep.addBatch(); conn.setAutoCommit(false); prep.executeBatch(); conn.setAutoCommit(true); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } } public String getMACAddress() { try { String ret = new String(); Enumeration<NetworkInterface> interfaces = NetworkInterface .getNetworkInterfaces(); while (interfaces.hasMoreElements()) { NetworkInterface nif = interfaces.nextElement(); byte[] lBytes = nif.getHardwareAddress(); StringBuffer lStringBuffer = new StringBuffer(); if (lBytes != null) { for (byte b : lBytes) { lStringBuffer.append(String.format("%1$02X ", new Byte( b))); } } // System.out.println(lStringBuffer); ret = ret + lStringBuffer.toString(); } // System.out.print("\n" + ret + "\n"); return ret; } catch (SocketException e) { e.printStackTrace(); } return null; } public static void deleteTable() { // System.out.println("PasswordManager called"); try { Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager .getConnection("jdbc:sqlite:test.db"); Statement stat = conn.createStatement(); stat.executeUpdate("drop table if exists login;"); conn.close(); } catch (Exception e1) { e1.printStackTrace(); } } }