Надежное хранение 1 пароля в базе данных - PullRequest
1 голос
/ 04 июля 2019

У меня есть Java-приложение Swing, которое запускается со страницы входа в систему и должно выводить администратора на панель инструментов, если логин аутентифицирован.Как только 1 админ, так и всего 1 комбинация имени пользователя и пароля.

Прямо сейчас я просто вставляю имя пользователя и пароль в таблицу sql, используя простой запрос на вставку.Я новичок в этом, поэтому я не знаю, как это сделать

create table login (
    Emp_id INT AUTO_INCREMENT PRIMARY KEY,
    Emp_Fname VARCHAR(50),
    Emp_Lname VARCHAR(50),
    Username VARCHAR(50),
    Password VARCHAR(50)
);
insert into login (Emp_id, Emp_Fname, Emp_Lname, Username, Password) values (1, 'TestFName', 'TestLName', 'Test', 'Test');

Вместо того, чтобы хранить пароли в виде простого текста, я хочу, чтобы он был зашифрован или хэш.

1 Ответ

0 голосов
/ 05 июля 2019

Я сейчас печатаю с телефона, так что прости меня. Похоже, вы хотите, чтобы ваш пароль выглядел так: eive29ceic28e8c38d9h3ce9h вместо «password123»

Вы можете использовать что-то вроде SHA-1, который имеет интеграцию в Java с SHA256 и SHA512. Оба из которых можно найти после быстрого поиска в Google. Я лично использовал их в проекте, но 100 раз использовал этот метод рекурсивно, используя результаты одного раунда в качестве входных данных для следующего. Затем я увеличил длину строки, используя следующую схему: пароль + пароль в обратном направлении + пароль + пароль. В моем случае пароль имел длину 4х512 бит и казался относительно безопасным. После этого я сохранил его в файл и каждый раз, когда я хочу войти в систему, я беру входные данные и шифрую их, а затем сравниваю с моим паролем в моем файле. Если они совпадают, вы в. Я знаю, что вы можете взломать Sha-1 открывает его грубой силой. Если вы хотите что-то другое, попробуйте bcrypt, pbkdf2 или argon2.

Я хотел бы дать вам ссылки, но это сложно для мобильных устройств. Я надеюсь, что это работает для вас. В противном случае я буду комментировать завтра утром

Редактировать: в ваших комментариях есть ссылка на алгоритм, который я имел в виду. Просто поместите его в цикл for 100 раз ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...