From 93ddb999207e7d36c6188e89bf55d90fe1f40458 Mon Sep 17 00:00:00 2001 From: lukaceli Date: Thu, 12 Feb 2026 11:13:22 +0100 Subject: [PATCH 1/2] Started on passwordHash class and User --- src/main/java/model/User.java | 39 ++++++++++++++++++++++++ src/main/java/password/PasswordHash.java | 22 +++++++++++++ src/main/java/service/AuthService.java | 4 +++ 3 files changed, 65 insertions(+) create mode 100644 src/main/java/service/AuthService.java diff --git a/src/main/java/model/User.java b/src/main/java/model/User.java index 0a49865..0bdf1be 100644 --- a/src/main/java/model/User.java +++ b/src/main/java/model/User.java @@ -1,4 +1,43 @@ package model; +import password.PasswordHash; + public class User { + private final String userName; + private final String phoneNumber; + private final String eMail; + private final PasswordHash password; + + public User(String userName, String phoneNumber, PasswordHash password, String eMail) { + this.userName = userName; + this.phoneNumber = phoneNumber; + this.eMail = eMail; + this.password = password; + + if ( userName == null || userName.isBlank() ) { + throw new IllegalArgumentException("Username has to be filled in"); + } + + if ( eMail == null || eMail.isBlank() ) { + throw new IllegalArgumentException("E-mail has to be filled in"); + } + + if ( phoneNumber == null || phoneNumber.isBlank() ) { + throw new IllegalArgumentException("Phonenumber has to be filled in"); + } + + if ( phoneNumber.length() != 8 ) { + throw new IllegalArgumentException("Fill in a phonenumber with 8 digits"); + } + } + + public String getUserName() { return userName; } + + public String phoneNumber() { return phoneNumber; } + + public String getEMail() { return eMail; } + + public PasswordHash getPasswordHash() { return password; } + + } diff --git a/src/main/java/password/PasswordHash.java b/src/main/java/password/PasswordHash.java index 796f855..cda7ced 100644 --- a/src/main/java/password/PasswordHash.java +++ b/src/main/java/password/PasswordHash.java @@ -1,4 +1,26 @@ package password; +import java.security.MessageDigest; + public class PasswordHash { + + public static String hash(String password) { + try { + MessageDigest md = MessageDigest.getInstance("SHA-256"); + byte[] hashedBytes = md.digest(password.getBytes()); + + StringBuilder sb = new StringBuilder(); + for (byte b : hashedBytes) { + sb.append(String.format("%02x", b)); + } + return sb.toString(); + } catch (Exception e) { + throw new RuntimeException("Feil ved hashing: ", e); + } + } + + public static boolean mathches(String password, String hashedPassword) { + String newHash = hash(password); + return newHash.equals(hashedPassword); + } } diff --git a/src/main/java/service/AuthService.java b/src/main/java/service/AuthService.java new file mode 100644 index 0000000..c60b35e --- /dev/null +++ b/src/main/java/service/AuthService.java @@ -0,0 +1,4 @@ +package service; + +public class AuthService { +} From 435d34ce652ecbfab4903e68d77ee5da27a9aff0 Mon Sep 17 00:00:00 2001 From: lukaceli Date: Thu, 12 Feb 2026 11:26:25 +0100 Subject: [PATCH 2/2] Started on UserRegister --- src/main/java/model/User.java | 4 ++-- src/main/java/register/UserRegister.java | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/model/User.java b/src/main/java/model/User.java index 0bdf1be..28590b2 100644 --- a/src/main/java/model/User.java +++ b/src/main/java/model/User.java @@ -31,9 +31,9 @@ public User(String userName, String phoneNumber, PasswordHash password, String e } } - public String getUserName() { return userName; } + public String getUsername() { return userName; } - public String phoneNumber() { return phoneNumber; } + public String getPhoneNumber() { return phoneNumber; } public String getEMail() { return eMail; } diff --git a/src/main/java/register/UserRegister.java b/src/main/java/register/UserRegister.java index db37c81..398cee3 100644 --- a/src/main/java/register/UserRegister.java +++ b/src/main/java/register/UserRegister.java @@ -1,4 +1,20 @@ package register; +import java.util.HashMap; +import java.util.Map; +import model.User; + public class UserRegister { + private final Map users; + + + public UserRegister(String userName, User user) { + this.users = new HashMap<>(); + } + + public void addUser(User user) { + if (!users.containsKey(user.getUsername())) { + users.put(user.getUsername(), user); + } + } }