Это действительно широкий вопрос. Это действительно зависит от того, какую информацию вы сохраняете и насколько она чувствительна.
Эта ссылка описывает типы шифрования и использование.
https://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html
Один из примеров - использование AES_ENCRYPT и AES_DECRYPT.
Вот краткий пример функций AES_ENCRYPT и AES_DECRYPT MySql.
Установить для таблицы базы данных двоичный тип, который я использую BLOB.
Затем создайте ключ для работы.
Вставить в дБ в зашифрованном виде.
Выбор расшифрованных данных из базы данных.
Это сгенерирует случайную строку.
function randomString($length) {//This is a function to create a random String.
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$string = '';
for ($p = 0; $p < $length; $p++) {
$string .= $characters[mt_rand(0, strlen($characters)-1)];}
return $string;}
$ourKey = randimString(16);//get our String in a Varable($ourKey).
Используйте функцию MySQL AES_ENCRYPT на вашей вставке.
$ourInsert = "INSERT INTO MY_TABLE(FIRST_NAME, OUR_KEY)VALUES(AES_ENCRYPT(FIRST_NAME,'".$ourKey."'), ".$ourKey.")";
Используйте функцию MySQL AES_DECRYPT для ее расшифровки.
$ourSelect = "SELECT AES_DECRYPT(FIRST_NAME, OUR_KEY) AS FIRST_NAME";
Для паролей и более конфиденциальных данных используйте PHP-функцию password_hash (). Ваша таблица дБ должна быть не менее 75 CHARS для этого. Вот ссылка, которая объясняет более подробно.
http://www.php.net/manual/en/function.password-hash.php
Обратите внимание, что вы не можете расшифровать пароль_хэша, совпадающий только с другими данными.
Пример использования password_hash для хеширования пароля и его вставки в БД.
$hashedPassWord = password_hash(users password, PASSWORD_BCRYPT, array("cost" => 17));
$insertPass = "INSERT INTO MY_TABLE(PASSWORD)VALUES(".$hashedPassWord.")";
и для проверки по хешированному паролю выберите пароль из базы данных и используйте проверку пароля, чтобы сопоставить его с хешированным паролем.
if (password_verify(users_input, db_password_hash)) {/*do something*/}
Обратите внимание, что это только охватывает самые основы. Есть и другие вещи, которые вам нужно сделать, такие как использование подготовленных операторов в PHP и экранирование строк. Я только коснулся вопроса шифрования, чтобы вы начали.