Существует старая поговорка «Шифрование - это просто, управление ключами - это сложно». И это очень применимо здесь.
Если вам нужно хранить данные в зашифрованном формате (вы часто этого не делаете, потому что вам нужно только хэшировать данные, а не шифровать их), вы не хотите, чтобы ключ шифрования хранился в базе данных. Вы хотите, чтобы ключ был доступен, когда ваши приложения должны расшифровать данные, но вы не хотите, чтобы такие люди, как администратор БД, имеющий доступ ко всем зашифрованным данным, могли получить ключ. Вы хотите убедиться, что резервное копирование ключа выполнено, чтобы вы могли восстановить данные, но не хотите, чтобы эти резервные копии объединялись с резервными копиями базы данных. Поэтому управление ключами становится очень сложной задачей.
В подавляющем большинстве случаев вам необходимо приобрести какое-либо стороннее решение для управления ключами, которое может справиться с этими противоречиями. Так же, как вы не хотите реализовывать алгоритмы шифрования самостоятельно, вы не хотите заниматься управлением ключами самостоятельно. Люди, которые пытаются решить проблему управления ключами самостоятельно, обычно не добиваются успеха.