Java / Bukkit (Minecraft) — если файл содержит имя игрока, проверьте пароль, который хранится в той же строке после «:», и сделайте что-нибудь.

это мой первый вопрос, и я надеюсь, что вы мне поможете. Я кодирую плагин регистрации/входа для Bukkit на Java. Теперь, когда игрок присоединяется к моему серверу, я хочу, чтобы он вошел в систему. Мой плагин должен проверить правильность пароля, который предоставил игрок. Это код, который я написал до сих пор.

Проблема в том, что я понятия не имею, как это сделать. Может кто-нибудь объяснить, как это сделать (возможно, только на словах)?

  String currln; br = new BufferedReader (new FileReader ("/plugins/LobbyLogin/passwd.crypt")  ); while ((currln = br.readLine ())! = null) {password = currln;} String password = null; String [] select = password.split (":"); String username = select [0];  String readed_pwd = select [1]; String alldata = username + readed_pwd;  

PS: пароль пользователя сохраняется в созданном мной файле «passwd.crypt» . Вот пример строки из него.

  ExampleUser: cGFzc3dvcmQ =  

Пароль хранится в зашифрованном виде.


Я предлагаю использовать встроенную библиотеку YAML, предоставляемую Bukkit, для хранения паролей и связывания их с пользователем. Затем вы можете использовать простой FileConfiguration # getString (String), чтобы получить пароль, связанный с пользователем.

Я не знаю точной реализации SnakeYAML, но предполагаю, что он хранит таблицу номеров строк для ссылки на узел, сохраненный в позиции для получения объекта, вместо BufferedReader для чтения каждой строки . Это означает повышение производительности для больших файлов.

И две вещи: если у вас нет проблем с аппаратной безопасностью, зачем шифровать пароли? И я не выполняю операции ввода-вывода во время выполнения, сохраняю ссылку на начальное значение при запуске плагина в коллекции, это быстрее, чем чтение с диска из файла.

Оцените статью
Gamicon.ru
Добавить комментарий