Я искал шифрование для уровня базы данных моего веб-приложения. Он использует MySQL 5.1 (или выше, я не помню).
Приложение, управляемое моей организацией, хранит данные для публичных клиентов.
Самый простой выбор – AES_ENCRYPT / AES_DECRYPT, который помог бы, если бы baddie каким-то образом получил доступ к моей базе данных (если они не знали ключа).
Однако я хочу сделать это еще дальше и не дать кому-либо из моей организации не просматривать любые данные, хранящиеся для клиентов в незашифрованном виде.
Мы используем эту предпосылку для хранения паролей; мы шифруем необработанный пароль на уровне приложения и сравниваем его с предварительно зашифрованным pwd на уровне db. Это, очевидно, очень распространенный метод, но у нас есть этот вклад от пользователя – решающее отличие от того, что я пытаюсь сделать, это то, что мы не можем хранить незашифрованный «ключ», а использование пароля пользователя проблематично, потому что (кроме другая куча причин), если они меняют его, все зашифрованные данные должны быть изменены.
Я не могу обойти эту идею (возможно, вы догадались, что я не специалист в области криптографии), но ожидал, что Google подбросит несколько указателей. К сожалению, я не могу найти много. Я был бы признателен за любые указания, с чего начать исследования.