Я пытаюсь создать многопользовательскую систему входа в систему для своей Java-программы, на данный момент я сравниваю имя пользователя и пароль с хэшами md5, хранящимися в текстовом файле. Я хотел бы иметь возможность предоставить разным пользователям разные права доступа к программе, используя систему, которую я использую в данный момент, доступность будет легко изменить, если текстовый файл будет открыт. Есть ли способ зашифровать текст в файле, а затем расшифровать его, когда пользователь входит в систему??? Спасибо
система авторизации java
Ответы (4)
Вы можете ознакомиться с этим. подробное руководство по криптографии Java. Однако я думаю, что вам лучше иметь базу данных для хранения имени пользователя и пароля, поскольку текстовый файл можно легко удалить или изменить. Шифрование только усложняет чтение.
Пожалуйста, посмотрите здесь и здесь, чтобы узнать о JDBC. Если вам нужна более надежная структура, вы можете использовать ORM, например hibernate. Ссылки, которые я разместил, относятся к MySQL. Это очень популярный сервер баз данных, который хорошо интегрируется с Java. У вас не должно возникнуть проблем с поиском руководств или какой-либо помощи по MySQL.
Также взгляните на JAAS, чтобы ограничить доступ к вашим услугам (например, на основе ролей).
Md5 - это алгоритм одностороннего хеширования, который вы не можете расшифровать, лучший способ - сравнить зашифрованную строку для проверки.
Помогает ли это:
Java - шифровать/дешифровать имя пользователя и пароль из файл конфигурации