@writer_2159
Жуть... просто жуть...

Как хранить шифрованные данные в БД?

Есть необходимость шифровать некоторые данные которые хранятся в БД.
На данный момент склоняюсь к стеку БД cassandra и шифрование RSA 2048

Например есть таблица пользователей id, name, phone. Цель зашифровать данные из колонки phone.

И тут у меня 2 варианта:
1) напрямую в таблице пользователей в колонке phone вписать шифрованные данные
2) выделить отдельную таблицу id, keyId, value (keyId - идентификатор ключа шифрования, value - хеш) и в колонке phone хранить id шифрованных данных.

Собственно почему такие 2 варианта.
1 вариант в лоб простой.
2 вариант позволит менять ключи шифрования путем расшифровки значения, создания новой строки с хешем от нового ключа шифрования и просто перезаписать id строки поле phone. Так же это позволит вынести шифрование\дешифрование на отдельный сервис с отдельным доступом к БД.

Остается еще вопрос с поиском по зашифрованным данным, если есть мысли - поделитесь :)
Так же не откажусь от критики по поводу стека
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 1
@AlexVWill
Как хранить шифрованные данные в БД?

Этого делать ненадо, т.к. если дынные в БД зашифрованы, то ваша БД перестает быть таковой, и начинает быть просто помойкой с кучей шифрованных данный, перестает работать поиск, сортировка, выборка, запросы и пр.
Шифровать надо саму базу, а не данные в ней.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы