как безопасно хранить пароль приложения Java в базе данных - PullRequest
0 голосов
/ 02 июля 2019

У меня есть Java-приложение, которое подключается к другим инструментам через API. в настоящее время все пароли хранятся локально в приложении.

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

спасибо

Ответы [ 4 ]

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

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

https://auth0.com/blog/hashing-passwords-one-way-road-to-security/

Если вам нужна дополнительная безопасность, вы можете добавить соль в хеширование.

https://auth0.com/blog/adding-salt-to-hashing-a-better-way-to-store-passwords/

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

Я бы создал Spring-Boot Application. Spring использует BCryptEncoder / -decoder для безопасного хранения паролей в базе данных.

Если вы не хотите использовать Spring, вам может помочь следующая ссылка.

https://www.stubbornjava.com/posts/hashing-passwords-in-java-with-bcrypt

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

Другая альтернатива, если только администраторы имеют доступ к серверу, на котором запущено приложение, - это предоставление секретов (паролей) в качестве переменных среды.

Самый простой способ доступа к ним - System.getEnv(String envKey). Например:

export SOME_ENV_VARIABLE="your secret"; java -jar yourapplication.jar;

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

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

Вы можете использовать Асимметричную криптографию или любую другую для безопасного хранения в базе данных

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