Как лучше хранить "секретную" инфу в базе
А вопрос был в том, как удобнее всего шифровать инфу. Пока есть всего два решения: каждый пользователь имеет публик ключ на сервере и приватный ключ у себя на компе. Используем ассиметричное шифрованиесервер имеет два ключа, используем симметричное шифрование
Для начала двумя ключами никто сами данные не шифрует, поскольку это неэффективно (очень долго) да и не нужно. Двумя ключами шифруют ключи для эффективных (симметричных) алгоритмов. А два ключа используют для совершенно других целей. Поэтому первый подход с асимметричным шифрованием фактически использует два ключа для двух разных целей: аутентификацию и шифрование. Это не запрещено конечно, но если вы понимаете, что творите. А вы видимо не понимаете, поэтому я с самомго начала и потом несколько раз повторял: где здесь аутентификация, где авторизация, и где шифрование. Ну чтобы было более понятно: пара <public key, private key> аналогична паре <user name, passowrd>. Если вы вводите асимметричное шифрование, то неявно вводите просттранство юзеров - каждый открытый ключ это один юзер. Например, в биткойне столько юзеров, сколько было сгенерировано открытых ключей (очень много), и каждый может зарегить нового юзера путем генерации пары ключей (и выполним транзакцию, чтобы этот открытый ключ попал в блок-чейн). Так что использовать асимметричное шифрование это изначально не очень хорошая идея.
А теперь главное: почему асиметричное шифрование "удобнее" в данном случае, и какую проблему мы решаем?
Есть еще варианты?
Пока проблема не сформулирована, то нет и решения. Если предположить что "вопрос был в том, как удобнее всего шифровать инфу", то берите любой алгоритм шифрования и делайте. Возьмите zip и шифруйте все файлы. Если хотете поделиться, то закиньте на открытый сервер, дайте линк кому надо вместе с ключем шифрования и усе. Ну или на стике передавайте.