2014-09-18 2 views
1

Привет, я работаю над небольшим проектом PHP.Шифрование для элементов базы данных

У меня есть таблица, в которой хранятся цены на предметы в DB (MYSQL). Есть ли способ, которым таблица цен хэшируется или зашифровывается в базе данных, поэтому администратор сервера или даже я не вижу цену клиента. его видно только на сайте после входа в систему.

С помощью этого можно предотвратить, если кто-то скачал базу данных, и они не могут видеть данные таблицы транзакций

Что лучшая рекомендация?

Спасибо

+0

Можно, конечно, хэш-данные, которые не должны быть извлечены на более поздней данных (например, пароли). Я бы не хэш-значения, которые вам действительно нужны, как цены. – Marty

+0

Да, я могу хэш-пароль ... Но цены нужно видеть на сайте администратора, поэтому я не могу его использовать ... Любой другой метод? – BANNA

+0

Вы * можете * зашифровать его, но любой, кто был заинтересован в ваших данных, чтобы получить его, в первую очередь, сможет расшифровать его с достаточным усилием. – Marty

ответ

0

Вы должны напряженную работу об индексах, потому что зашифрованные данные не могут быть проиндексированы поэтому поиск этой строки не будет легко.

Я рекомендовал äes:

AES_ENCRYPT() и AES_DECRYPT() можно считать наиболее криптографически безопасные функции шифрования в настоящее время доступны в MySQL.

INSERT into user (first_name, address) VALUES (AES_ENCRYPT('Person', 'myword'),AES_ENCRYPT('Person', 'myword')); 

SELECT AES_DECRYPT(first_name, 'myword'), AES_DECRYPT(address, 'myword') from user; 

Айз Шифрование Объяснение:

http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_aes-encrypt

Айз Расшифровать Пояснение:

http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_aes-decrypt


Все средства шифрования и сжатия Mysql: http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html

Эта статья лучше о Mysql базы данных безопасности:

http://www.greensql.com/content/mysql-security-best-practices-hardening-mysql-tips

Смежные вопросы