diff --git a/.idea/libraries/bytedeco_javacv_platform.xml b/.idea/libraries/bytedeco_javacv_platform.xml
index 9fa3834..53085a2 100644
--- a/.idea/libraries/bytedeco_javacv_platform.xml
+++ b/.idea/libraries/bytedeco_javacv_platform.xml
@@ -19,9 +19,9 @@
-
+
-
+
diff --git a/databases.json b/databases.json
index 3f862b5..7a73a41 100644
--- a/databases.json
+++ b/databases.json
@@ -1,3 +1,2 @@
{
- "esffs": "e4aebaf0f1b173cdf19ae33a5539cc4e52990f37473f6f41623e1a3a346fa713"
}
\ No newline at end of file
diff --git a/src/Classes/DatabasesManager.java b/src/Classes/DatabasesManager.java
index 284d52f..35e22c0 100644
--- a/src/Classes/DatabasesManager.java
+++ b/src/Classes/DatabasesManager.java
@@ -14,38 +14,44 @@
public class DatabasesManager {
private final File databasesFile;
- private final Map databases;
- Sha256 sha256 = new Sha256();
+ private final Map databases;
+ private final Sha256 sha256 = new Sha256();
+
public DatabasesManager(File databasesFile) {
this.databasesFile = databasesFile;
- this.databases = loadDatabases();
+ this.databases = loadDatabases() != null ? loadDatabases() : new HashMap<>();
}
public boolean verifyDatabase(String dbName, String password) {
+ if (!databases.containsKey(dbName)) return false;
+ Database database = databases.get(dbName);
String hashedPassword = sha256.calculateHash(password);
- return databases.containsKey(dbName) && databases.get(dbName).equals(hashedPassword);
+ return database.getHashPassword().equals(hashedPassword);
}
- public void createDatabase(String dbName, String password) {
+ public void createDatabase(String dbName, String password, Map encryptionMap) {
if (databases.containsKey(dbName)) {
throw new IllegalArgumentException("Database already exists.");
}
String hashedPassword = sha256.calculateHash(password);
- databases.put(dbName, hashedPassword);
+ Database newDatabase = new Database(dbName, hashedPassword, encryptionMap);
+ databases.put(dbName, newDatabase);
saveDatabases();
}
- public Map loadDatabases() {
+ private Map loadDatabases() {
if (!databasesFile.exists()) return new HashMap<>();
try (FileReader reader = new FileReader(databasesFile)) {
Gson gson = new Gson();
- Type type = new TypeToken