Skip to content

User features #10

Merged
merged 3 commits into from
Feb 12, 2026
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions src/main/java/model/User.java
Original file line number Diff line number Diff line change
@@ -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 getPhoneNumber() { return phoneNumber; }

public String getEMail() { return eMail; }

public PasswordHash getPasswordHash() { return password; }


}
22 changes: 22 additions & 0 deletions src/main/java/password/PasswordHash.java
Original file line number Diff line number Diff line change
@@ -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);
}
}
16 changes: 16 additions & 0 deletions src/main/java/register/UserRegister.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
package register;

import java.util.HashMap;
import java.util.Map;
import model.User;

public class UserRegister {
private final Map<String, User> 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);
}
}
}
4 changes: 4 additions & 0 deletions src/main/java/service/AuthService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package service;

public class AuthService {
}
Loading