Хранение информации в конфиденциальной базе данных - PullRequest
0 голосов
/ 04 мая 2018

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

Мой вопрос: этичное хранение этой информации в виде простого текста в лучшем случае кажется отрывочным, если не программистом, который я считаю границей незаконной. Как я могу сохранить эту информацию и получить ее позже? Сайты, подобные последнему проходу, достигают этого, но я не создаю менеджер паролей, и при этом я думаю, что не могу этого сделать и сказать: «Да, это безопасно, пароли пользователя никогда не будут видны, кроме пользователя». Какие другие методы были бы жизнеспособными для этого?

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

1 Ответ

0 голосов
/ 04 мая 2018

Вот код, который я использовал для шифрования пароля, а затем расшифровывал пароль обратно. Дайте мне знать, если у вас возникнут какие-либо проблемы.

mysql> create table test_2(id int, password varchar(500));
Query OK, 0 rows affected (0.21 sec)

mysql> select * from test_2;
Empty set (0.00 sec)

mysql> insert into test_2 values(1,DES_ENCRYPT('abc123@##','password'));
Query OK, 1 row affected, 1 warning (0.08 sec)

mysql> select * from test_2;
+------+---------------------------+
| id   | password                  |
+------+---------------------------+
|    1 | ÿö5r¢ÍòšMÀcEL]         |
+------+---------------------------+
1 row in set (0.00 sec)

mysql> select id,DES_DECRYPT(password,'password') as real_password from test_2;
+------+---------------+
| id   | real_password |
+------+---------------+
|    1 | abc123@##     |
+------+---------------+
1 row in set, 1 warning (0.05 sec)
...