1

データベースをサポートするように書かれたウェブサイトがPHPあります。MySql

Encryptデータベース全体にしたい。
基本的に私が望むのは、誰かがデータベースのログイン資格情報を取得した場合、データを読み取ることができてはならないということです.

私はmysqlENCODE()AES_ENCRYPT()関数について読みました。しかし、この方法では、php スクリプトに多くの変更が加えられ、パフォーマンスの問題も発生します。

データベースファイル全体を暗号化する手法や、これを実現する他の方法はありますか?

4

2 に答える 2

-1

パスワードとチェックサムの関数と共に使用SHA512します。bcrypt_encode()

他の特定のデータについては、PHP ファイルから独自の SALT を使用して + 何らかのメカニズムでエンコードし、base64_encode($your_db_table_data) + "MY_SALT_FROM_WEB".逆方向にbase64_decode($your_db_table_data) + MY_SALT_FROM_WEB.

gzdeflatewhich decrpyt を使用してデータを圧縮し、salt を使用して復号化を困難にすることができます。例:

$data = gzdeflate($your_data) + YOUR_SALT;

これにより、データベースのように単純になります。��O�KWH�KQpI�r\���*JZ<��AR

deflate をデコードするには、次のように使用します。gzinflate(gzdeflate($your_data_from_db + YOUR_SALT_FROM_WEB));

これは参照です: http://php.net/manual/en/function.gzinflate.php

char() および小さいテキストのデータベース内のデータを使用して、char および小さいデータベース base64_enocode / base64_decode + YOUR_SALT_HIDDEN_FROM_WEB の使用をより複雑にデコードする場合。

これは、VARCHAR() を使用するためにデータベース内のデータをどのように暗号化するかという私の考えです。テキスト データの場合は、暗号化された方法で圧縮し、SALT を組み合わせて使用​​します。

私は現在、別の解決策を考えていないか、AES技術を使用してMySQLデータをチェックアウトして暗号化しています: http://thinkdiff.net/mysql/encrypt-mysql-data-using-aes-techniques/

これは MySQL で使用AES_ENCRYPTおよびAES_DECRYPT統合されますが、これは VARBINARY(150) または VARCHAR(100) に限定されます。暗号化された方法で圧縮を使用すると、統合された MySQLAES関数を使用する代わりにこれを行うことができます。

これが役立つことを願っています。

于 2013-03-25T07:59:18.500 に答える