52 lines
1.6 KiB
Java
52 lines
1.6 KiB
Java
|
|
import java.io.*;
|
|||
|
|
import java.util.UUID;
|
|||
|
|
|
|||
|
|
public class UserKey {
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
Lit la clé stockée dans le fichier ~/.papillon_id
|
|||
|
|
ou en génère une nouvelle si le fichier n'existe pas.
|
|||
|
|
@return La clé utilisateur sous forme de chaîne de caractères
|
|||
|
|
*/
|
|||
|
|
public static String lireOuCreerCle() {
|
|||
|
|
// Récupère le dossier personnel de l’utilisateur
|
|||
|
|
String home = System.getProperty("user.home");
|
|||
|
|
File fichier = new File(home, ".papillon_id");
|
|||
|
|
String cle = "";
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
// Si le fichier existe déjà on lit son contenu
|
|||
|
|
if (fichier.exists()) {
|
|||
|
|
FileReader fr = new FileReader(fichier);
|
|||
|
|
BufferedReader br = new BufferedReader(fr);
|
|||
|
|
|
|||
|
|
cle = br.readLine(); // lit la première ligne (la clé)
|
|||
|
|
br.close();
|
|||
|
|
fr.close();
|
|||
|
|
|
|||
|
|
System.out.println("Clé existante trouvée : " + cle);
|
|||
|
|
}
|
|||
|
|
// Sinon, on génère une nouvelle clé et on l’écrit dans le fichier
|
|||
|
|
else {
|
|||
|
|
cle = UUID.randomUUID().toString(); // Génère une clé unique
|
|||
|
|
|
|||
|
|
FileWriter fw = new FileWriter(fichier);
|
|||
|
|
BufferedWriter bw = new BufferedWriter(fw);
|
|||
|
|
|
|||
|
|
bw.write(cle);
|
|||
|
|
bw.newLine();
|
|||
|
|
bw.close();
|
|||
|
|
fw.close();
|
|||
|
|
|
|||
|
|
System.out.println("Nouvelle clé générée et enregistrée : " + cle);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
} catch (IOException e) {
|
|||
|
|
System.err.println("Erreur lors de la lecture/écriture du fichier de clé : " + e.getMessage());
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return cle;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|