Как скрыть значение в базе данных PostgreSQL - PullRequest
3 голосов
/ 13 июля 2011

Кто-нибудь может мне помочь в отношении базы данных postgres? Мне нужно скрыть значение в таблице, которая была создана. Мне нужно скрыть пароль данных, как показано ниже:

пароль пользователя Ана 123

Я хочу, чтобы пароль выглядел как * Может кто-нибудь мне помочь? Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 13 июля 2011

Взгляните на pgcrypto модуль для некоторых других опций (таких как шифрование Extended DES и шифрование PGP).Я не рекомендую использовать MD5, потому что (ИМХО) он легко ломается в настоящее время (особенно без соли).Лучший выбор - SHA-512 (или некоторые из кандидатов SHA-3: BLAKE , Grøstl и т.метод против некоторых (возможно, с GPU-ускорением) инструментов, таких как hashcat .Это действительно зависит от того, насколько ценные данные вы хотите сохранить.

1 голос
/ 13 июля 2011

Обычный и лучший способ - сохранить MD5 пароля и сравнить его с MD5 введенного пароля.Это довольно безопасно (но грубая сила может взломать его, если достаточно времени).

1 голос
/ 13 июля 2011

Один из стандартных методов такого рода сокрытия заключается в создании представления со всеми столбцами, кроме столбца пароля (или всех столбцов, затем «*» как пароль).Для пользователя db, которое приложение использует для подключения, предоставьте доступ на чтение к представлению, но удалите доступ на чтение для исходной таблицы.Таким образом, нет никаких шансов, что приложение получит доступ к полю.

Что-то вроде:

CREATE VIEW visible_users AS
  SELECT username, '***' as password
  FROM users;

Затем убедитесь, что права управляются соответствующим образом:

REVOKE ALL ON users FOR app_user;

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

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