diff --git a/src/main/java/dao/Database.java b/src/main/java/dao/Database.java
index 232a69f167c7f3550684f8672c276e1aae800a6e..e5508022cb0237ec442350a3e37ce020649457e1 100644
--- a/src/main/java/dao/Database.java
+++ b/src/main/java/dao/Database.java
@@ -18,7 +18,7 @@ public class Database {
     private static boolean isTest = isJUnitTest();
 
 
-    private static final String IP_TO_VM = "129.241.96.191";
+    private static final String IP_TO_VM = "129.241.97.157";
 
     private static String DB_URL = "jdbc:mysql://" + ((DB_CHOICE != null) ?
             (DB_CHOICE + ":3306/") :
diff --git a/src/main/java/dao/UserDAO.java b/src/main/java/dao/UserDAO.java
index 51fb7649feae5ad0eae5d9c915b3ad42325f00d9..17020d26a54a12b2f04656ce77ccba580b25c1de 100644
--- a/src/main/java/dao/UserDAO.java
+++ b/src/main/java/dao/UserDAO.java
@@ -8,6 +8,8 @@ import java.security.SecureRandom;
 import java.sql.*;
 import java.util.ArrayList;
 import java.util.List;
+import java.security.SecureRandom;
+import java.security.MessageDigest;
 
 import static dao.Database.close;
 
@@ -183,7 +185,10 @@ public class UserDAO {
      * @return a random salt
      */
     public byte[] generateSalt() {
-        return null;
+        SecureRandom random = new SecureRandom();
+        byte bytes[] = new byte[16];
+        random.nextBytes(bytes);
+        return bytes;
     }
 
     /**
@@ -192,8 +197,26 @@ public class UserDAO {
      * @param salt salt to use when hashing
      * @return hashedPassword, null if unsuccessful
      */
-    public String hashPassword(String password, byte[] salt){
-        return null;
+
+    public String hashPassword(String password, byte[] salt) {
+        String generatedPassword="";
+        try {
+            MessageDigest md = MessageDigest.getInstance("SHA-256");
+            md.update(salt);
+            byte[] bytes = md.digest(password.getBytes());
+
+            StringBuilder sb = new StringBuilder();
+
+            for (byte b:bytes) {
+                sb.append(Integer.toString((b & 0xff) + 0x100,16).substring(1));
+            }
+
+            generatedPassword=sb.toString();
+
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        }
+        return generatedPassword;
     }
 
     /**
diff --git a/src/main/java/data/User.java b/src/main/java/data/User.java
index 16be2c9af52022fc6067c0bc6da55b547eae36d3..f862dcd014a941aa30dfef630f7df37bab7515b6 100644
--- a/src/main/java/data/User.java
+++ b/src/main/java/data/User.java
@@ -49,4 +49,5 @@ public class User {
     public void setSalt(byte[] salt) {
         this.salt = salt;
     }
+
 }
diff --git a/src/main/java/resources/CalculatorResource.java b/src/main/java/resources/CalculatorResource.java
index 5712a798cbe315637d0b34089b59ddb0ee3fc114..47202779787c627be7186eaaacb7118b625b68b8 100644
--- a/src/main/java/resources/CalculatorResource.java
+++ b/src/main/java/resources/CalculatorResource.java
@@ -1,5 +1,9 @@
 package resources;
 
+<<<<<<< HEAD
+import org.graalvm.compiler.hotspot.stubs.DivisionByZeroExceptionStub;
+=======
+>>>>>>> 2ffc5ca1cddf44a1e6d380f18eb4b10bb4578efb
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.POST;
diff --git a/src/test/java/UserDAOTest.java b/src/test/java/UserDAOTest.java
index 9d8faca42c5c0fb99df8b9c46dfbb60495123161..9e1d9f869649dba2e179bc2693b4e057c643135f 100644
--- a/src/test/java/UserDAOTest.java
+++ b/src/test/java/UserDAOTest.java
@@ -11,6 +11,7 @@ import org.junit.Test;
 import javax.ws.rs.core.Application;
 import java.sql.Connection;
 import java.sql.SQLException;
+import java.sql.SQLOutput;
 import java.sql.Statement;
 import java.util.ArrayList;
 import java.util.List;
@@ -194,4 +195,12 @@ public class UserDAOTest extends JerseyTest {
         assertEquals(expectedUsername,actualUsername);
         assertNotEquals(beforeNewUser,afterNewUser);
     }
+
+    @Test
+    public void testHashPassword(){
+        byte[] salt = userDAO.generateSalt();
+        System.out.println(salt);
+        assertEquals(userDAO.hashPassword("Hello World", salt),userDAO.hashPassword("Hello World", salt));
+        assertNotEquals(userDAO.hashPassword("Hello World", salt), userDAO.hashPassword("Yo", salt));
+    }
 }
\ No newline at end of file