Advertisement
Guest User

Untitled

a guest
May 21st, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.65 KB | None | 0 0
  1. package nl.kingev.LoginSystem.manager;
  2.  
  3. import nl.kingev.LoginSystem.utils.HashUtils;
  4. import sun.nio.cs.StandardCharsets;
  5.  
  6. import javax.swing.*;
  7. import java.io.IOException;
  8. import java.sql.*;
  9. import java.util.List;
  10.  
  11. /**
  12.  * Created by Jasper on 20-5-2017.
  13.  */
  14. public class DatabaseManager {
  15.  
  16.     List<String> conf;
  17.  
  18.     private Connection connection;
  19.     private String password = "";
  20.     private String host = "";
  21.     private String database = "LoginSystem";
  22.     private String username = "";
  23.  
  24.     public DatabaseManager(){
  25.  
  26.     }
  27.  
  28.  
  29.     public void setupDatabaseManager(){
  30.  
  31.         try {
  32.             synchronized (this){
  33.  
  34.                     Class.forName("com.mysql.jdbc.Driver");
  35.                     connection = DriverManager.getConnection("jdbc:mysql://" + this.host + ":" + "3306" + "/" + this.database,
  36.                             this.username, this.password);
  37.  
  38.                     PreparedStatement st = connection.prepareStatement("CREATE TABLE IF NOT EXISTS `" + database + "`.`users` ( `id` INT(255) NOT NULL AUTO_INCREMENT , `user` VARCHAR(255) NOT NULL , `password` VARCHAR(255) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;");
  39.  
  40.  
  41.                 st.executeUpdate();
  42.                 }
  43.  
  44.  
  45.  
  46.  
  47.  
  48.         } catch (ClassNotFoundException e) {
  49.             e.printStackTrace();
  50.         } catch (SQLException e) {
  51.             e.printStackTrace();
  52.         }
  53.  
  54.     }
  55.         public Connection getConnection(){
  56.         return connection;
  57.         }
  58.  
  59.  
  60.         public boolean testLogin(String username , String password){
  61.             boolean toReturn = false;
  62.  
  63.             boolean user = false;
  64.             boolean pass = false;
  65.  
  66.             String hash = HashUtils.sha1(password);
  67.             if(userExists(username)){
  68.  
  69.                 try {
  70.                     PreparedStatement st = connection.prepareStatement("SELECT * FROM users WHERE user =?");
  71.                     st.setString(1 , username);
  72.                     ResultSet rs = st.executeQuery();
  73.  
  74.                     while (rs.next()){
  75.                         user = true;
  76.  
  77.                         break;
  78.                     }
  79.                     if(user){
  80.                         st = connection.prepareStatement("SELECT * FROM users WHERE password = ?");
  81.                         st.setString(1, hash);
  82.                         ResultSet rs2 = st.executeQuery();
  83.                         while (rs2.next()){
  84.                             pass = true;
  85.  
  86.                             break;
  87.                         }
  88.                     }
  89.                     if(user && pass){
  90.  
  91.                       toReturn = true;
  92.                     }
  93.  
  94.                 } catch (SQLException e) {
  95.                     e.printStackTrace();
  96.                 }
  97.  
  98.  
  99.             }
  100.  
  101.  
  102.  
  103.  
  104.         return toReturn;
  105.         }
  106.         public boolean userExists(String username){
  107.             boolean toReturn = false;
  108.  
  109.             try {
  110.                 PreparedStatement st = connection.prepareStatement("SELECT * FROM users WHERE user=?" );
  111.                 st.setString(1 , username);
  112.  
  113.                 ResultSet rs = st.executeQuery();
  114.  
  115.                 if(rs.next()){
  116.                     toReturn = true;
  117.                 }
  118.  
  119.             } catch (SQLException e) {
  120.                 e.printStackTrace();
  121.             }
  122.  
  123.         return toReturn;
  124.         }
  125.  
  126.  
  127.         public void registerUser(String username, String phash) throws SQLException {
  128.  
  129.             PreparedStatement ps = connection.prepareStatement("INSERT INTO users (user, password) VALUES (?,?)");
  130.             ps.setString(1, username);
  131.             ps.setString(2, phash);
  132.             ps.executeUpdate();
  133.         }
  134.  
  135.  
  136.  
  137.  
  138.  
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement