diff --git a/pom.xml b/pom.xml index af0b331..6ae0290 100644 --- a/pom.xml +++ b/pom.xml @@ -8,6 +8,19 @@ 1.0-SNAPSHOT SAE 201 https://maven.apache.org + + + + central + Maven Central + default + https://repo1.maven.org/maven2 + + false + + + + UTF-8 17 @@ -20,6 +33,13 @@ + + + de.mkammerer + argon2-jvm + 2.11 + + org.xerial sqlite-jdbc @@ -134,6 +154,12 @@ jakarta.activation-api 2.1.0 + + net.java.dev.jna + jna + 5.8.0 + compile + diff --git a/src/main/java/fr/univ_amu/iut/secret/LocalSecretProvider.java b/src/main/java/fr/univ_amu/iut/secret/LocalSecretProvider.java new file mode 100644 index 0000000..3614732 --- /dev/null +++ b/src/main/java/fr/univ_amu/iut/secret/LocalSecretProvider.java @@ -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()); + } +} diff --git a/src/main/java/fr/univ_amu/iut/secret/SecretProvider.java b/src/main/java/fr/univ_amu/iut/secret/SecretProvider.java new file mode 100644 index 0000000..630e1e0 --- /dev/null +++ b/src/main/java/fr/univ_amu/iut/secret/SecretProvider.java @@ -0,0 +1,10 @@ +package fr.univ_amu.iut.secret; + +public interface SecretProvider { + + static SecretProvider getInstance(){ + return new LocalSecretProvider(); + } + + boolean isSecretValid(String secret); +} diff --git a/src/main/java/fr/univ_amu/iut/test/DAOUsageTest.java b/src/main/java/fr/univ_amu/iut/test/DAOUsageTest.java index 6b77901..48405e2 100644 --- a/src/main/java/fr/univ_amu/iut/test/DAOUsageTest.java +++ b/src/main/java/fr/univ_amu/iut/test/DAOUsageTest.java @@ -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 diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index f181730..9028ea3 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -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;