36 lines
904 B
Java
36 lines
904 B
Java
package de.towerdefence.server.player;
|
|
|
|
import jakarta.validation.constraints.NotNull;
|
|
import jakarta.validation.constraints.Size;
|
|
import lombok.Setter;
|
|
import lombok.Getter;
|
|
import lombok.NoArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import jakarta.persistence.*;
|
|
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Getter
|
|
@Setter
|
|
@Entity
|
|
@Table(name = "player")
|
|
public class Player {
|
|
public static final int PASSWORD_SALT_BYTE_LENGTH = 16;
|
|
public static final int PASSWORD_HASH_BYTE_LENGTH = 64;
|
|
|
|
@Id
|
|
@GeneratedValue(strategy=GenerationType.IDENTITY)
|
|
private Long id;
|
|
|
|
@NotNull
|
|
@Column(unique = true)
|
|
private String username;
|
|
|
|
@NotNull
|
|
@Size(min = PASSWORD_HASH_BYTE_LENGTH, max = PASSWORD_HASH_BYTE_LENGTH)
|
|
private byte[] passwordHash;
|
|
|
|
@NotNull
|
|
@Size(min = PASSWORD_SALT_BYTE_LENGTH, max = PASSWORD_SALT_BYTE_LENGTH)
|
|
private byte[] passwordSalt;
|
|
}
|