Index: src/main/java/com/wediscussmovies/project/service/impl/UserServiceImpl.java
===================================================================
--- src/main/java/com/wediscussmovies/project/service/impl/UserServiceImpl.java	(revision 2a5d6a3d7e82fe6a72290f16b30ecfbbd8df2c98)
+++ src/main/java/com/wediscussmovies/project/service/impl/UserServiceImpl.java	(revision 7bc8942e641cbe9fd658da84125ccf38b30063c9)
@@ -1,4 +1,5 @@
 package com.wediscussmovies.project.service.impl;
 
+import com.wediscussmovies.project.model.PasswordEncoder;
 import com.wediscussmovies.project.model.User;
 import com.wediscussmovies.project.model.exception.PasswordsDontMatchException;
@@ -11,4 +12,5 @@
 
 import javax.servlet.http.HttpServletRequest;
+import java.security.NoSuchAlgorithmException;
 import java.util.Optional;
 
@@ -42,5 +44,5 @@
             return Optional.empty();
         }
-            if(userRepository.findByUsername(username).isPresent()){
+        if(userRepository.findByUsername(username).isPresent()){
             request.getSession().setAttribute("error", new UserWithUsernameAlreadyExists(username).getMessage());
             return Optional.empty();
Index: src/main/java/com/wediscussmovies/project/web/controller/UserController.java
===================================================================
--- src/main/java/com/wediscussmovies/project/web/controller/UserController.java	(revision 2a5d6a3d7e82fe6a72290f16b30ecfbbd8df2c98)
+++ src/main/java/com/wediscussmovies/project/web/controller/UserController.java	(revision 7bc8942e641cbe9fd658da84125ccf38b30063c9)
@@ -1,4 +1,5 @@
 package com.wediscussmovies.project.web.controller;
 
+import com.wediscussmovies.project.model.PasswordEncoder;
 import com.wediscussmovies.project.model.User;
 import com.wediscussmovies.project.model.exception.InvalidUserCredentialsException;
@@ -12,4 +13,5 @@
 
 import javax.servlet.http.HttpServletRequest;
+import java.security.NoSuchAlgorithmException;
 import java.util.Optional;
 
@@ -24,13 +26,24 @@
 
     @GetMapping("/login")
-    public String getLoginPage(){
-       return "login";
+    public String getLoginPage(Model model){
+        return "login";
     }
 
     @PostMapping("/login/confirm")
-    public String confirmLogin(HttpServletRequest request, Model model){
+    public String confirmLogin(HttpServletRequest request, Model model,
+                               @RequestParam String username,
+                               @RequestParam String password){
         Optional<User> user;
         try{
-            user = this.userService.login(request.getParameter("username"), request.getParameter("password"));
+            password = PasswordEncoder.getEncodedPasswordString(password);
+        }
+        catch (NoSuchAlgorithmException ex){
+            model.addAttribute("hasError", true);
+            model.addAttribute("error", ex.getMessage());
+            return "login";
+        }
+
+        try{
+            user = this.userService.login(username, password);
             request.getSession().setAttribute("user", user);
             request.getSession().setAttribute("loggedIn",true);
@@ -58,12 +71,23 @@
                                   @RequestParam String surname){
         Optional<User> user;
+
+        try{
+            password = PasswordEncoder.getEncodedPasswordString(password);
+            confirmPassword = PasswordEncoder.getEncodedPasswordString(confirmPassword);
+        }
+        catch (NoSuchAlgorithmException ex){
+            request.getSession().setAttribute("error", "Contact the administrators!");
+            request.getSession().setAttribute("hasError", "true");
+            return "redirect:/movies";
+        }
+
         user = this.userService.register(request, email, password, confirmPassword, username, name, surname);
         if(user.isEmpty()){
             request.setAttribute("hasError", "true");
         }else{
-            request.setAttribute("hasError", "false");
+            request.getSession().setAttribute("hasError", "false");
+            request.getSession().setAttribute("user", user.get());
+            request.getSession().setAttribute("loggedIn",true);
         }
-        request.getSession().setAttribute("user", user.get());
-        request.getSession().setAttribute("loggedIn",true);
         return "redirect:/movies";
     }
