У меня есть столбец в базе данных, в котором хранится столбец "рейтинг" со значениями от 1 до 9.
Есть ли простой способ зашифровать этот столбец, чтобы он не читался для людей с полным доступом к БД и SourceCode?
Должен быть способ извлечь точное значение (а не просто обрабатывать его как хэширование),
и зашифрованные строки должны отличаться для одного входа.
Ищете общий подход или решение PHP/.NET.
Некоторое время назад я поставил класс на github, который будет делать трюк.
Он будет шифровать вашу строку при ее вставке в базу данных, и вы сможете расшифровать ее при извлечении данных.
Ниже приведен пример того, как его использовать.
require 'Cipher.php';
// First init the class by calling the constructor
// Pass your personal key to the constructor as a
// parameter.
$cipher = new Cipher('AvErrySeCretPasSw0rd!1!2!3!');
$text = 'This is the piece of text we are going to encrypt.';
// Now we encrypt the above text
// The returned value will be a base64encoded form of your encrypted
// string.
$encrypted = $cipher->encrypt($text);
И расшифровать:
// Pass your personal key to the constructor as a
// parameter.
$cipher = new Cipher('AvErrySeCretPasSw0rd!1!2!3!');
// Now we are going to decrypt it.
$decrypted = $cipher->decrypt($encrypted);
Надеюсь, это поможет
rating_in_db = real_rating ^ user_id
или что-то.