Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

<Describe all design decisions made for the sub-system. Provide at least decision descriptions for all frameworks, libraries and other technologies used. Other decisions may be related to software patterns, system-structure, adapted principles or the like.>

Password Hashing

Decision

Description

Problem/Issue

A short description of the design problem
The password can't be seen in the database, so that hackers aren't able to login to other accounts.
Decision
A short description of the design decision.AlternativesWhat are the alternatives for this decision? Are there any alternative diagrams to support this?ArgumentsWhich criteria were crucial for the decision?
Using Argon2, we can hash the passwords of users, so that a hashed password is stored in the database. This prevents hackers from seeing someone elses password.
AlternativesSHA-512, MD5, PBKDF2, BCrypt, and SCrypt (Millington, 2022)
ArgumentsFrom an comment in Baeldung (Millington, 2022), I saw Argon2 being suggested. Going to the Supertokens website, I found a tool that detects how safely a password is. With that Supertokens also recommended to use this hashing tool this march, which is quite recent. It uses more resources from your computer, but it makes a stronger password from it. Regterschot Racing required minimum security, that also includes a hashed password.

Design Sub-System B (and so on)

 


Database Design

<. If your system uses relational databases, make sure you provide a physical datamodel here.>

...