added secret provider

This commit is contained in:
Thomas Rubini 2022-06-07 21:38:19 +02:00
parent ea434c278b
commit 4f9d9669c1
No known key found for this signature in database
GPG Key ID: C7D287C8C1CAC373
5 changed files with 56 additions and 2 deletions

26
pom.xml
View File

@ -8,6 +8,19 @@
<version>1.0-SNAPSHOT</version>
<name>SAE 201</name>
<url>https://maven.apache.org</url>
<repositories>
<repository>
<id>central</id>
<name>Maven Central</name>
<layout>default</layout>
<url>https://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>17</maven.compiler.release>
@ -20,6 +33,13 @@
</properties>
<dependencies>
<dependency>
<groupId>de.mkammerer</groupId>
<artifactId>argon2-jvm</artifactId>
<version>2.11</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
@ -134,6 +154,12 @@
<artifactId>jakarta.activation-api</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.8.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

View File

@ -0,0 +1,16 @@
package fr.univ_amu.iut.secret;
import de.mkammerer.argon2.Argon2;
import de.mkammerer.argon2.Argon2Factory;
public class LocalSecretProvider implements SecretProvider {
private static String ARGON_HASH = "$argon2id$v=19$m=16,t=2,p=1$Tms1dkJYWEZ5OTdJTndVTg$+iBsHiILEshy1JLZsTfZFQ";
private static Argon2 argon2 = Argon2Factory.create(Argon2Factory.Argon2Types.ARGON2id);
@Override
public boolean isSecretValid(String secret) {
return argon2.verify(ARGON_HASH, secret.getBytes());
}
}

View File

@ -0,0 +1,10 @@
package fr.univ_amu.iut.secret;
public interface SecretProvider {
static SecretProvider getInstance(){
return new LocalSecretProvider();
}
boolean isSecretValid(String secret);
}

View File

@ -14,8 +14,7 @@ public class DAOUsageTest implements DAOUsage{
@Override
public boolean delete(Usage obj) {
// TODO Auto-generated method stub
return false;
throw new UnsupportedOperationException();
}
@Override

View File

@ -7,6 +7,9 @@ open module francefx {
requires transitive org.kordamp.ikonli.materialdesign;
requires transitive org.kordamp.ikonli.core;
requires de.mkammerer.argon2.nolibs;
requires com.sun.jna;
requires jakarta.persistence;
exports fr.univ_amu.iut.view.map;