mysqlドキュメントによると
「128ビットのキー長でのエンコードが使用されますが、ソースを変更することで最大256ビットまで拡張できます。」
しかし、彼らはどこを変えるべきかについての指示を提供していないようでした。この状況を経験した人はいますか?どのソースファイルを変更する必要がありますか?
mysqlドキュメントによると
「128ビットのキー長でのエンコードが使用されますが、ソースを変更することで最大256ビットまで拡張できます。」
しかし、彼らはどこを変えるべきかについての指示を提供していないようでした。この状況を経験した人はいますか?どのソースファイルを変更する必要がありますか?
私はmysqlメーリングリストからほとんど助けを見つけませんでした
ファイルinclude/my_aes.h
#define AES_KEY_LENGTH 128 /* must be 128 192 or 256 */
OpenSuSe 11.1を使用しているので、次のツールが必要です
sudo zypper install gcc gcc-c++ ncurses-devel
次に、この命令でコンパイルします-ここに
LenZとtripanel.netへのクレジット
クライアントアプリケーションで暗号化を実行することは、おそらくより保守しやすいソリューションになるでしょう。
さらに、ネットワークを介してデータを暗号化し、ネットワークを介してキーを送信しないという利点も得られます(もちろん、SSLを使用してmysqlに接続し、これを軽減することもできます)。
これが適切なアプローチと思われない場合は、要件を投稿してください。
おそらく、独自のmysqlバイナリをコンパイルしたくないでしょう。独自のmysqlバイナリを構築するよりも、開発者が行うほうが便利なことがあります。MySQL / Sunのものは広範囲にテストされており、パフォーマンスの低下は含まれていません(私たちは願っています)。
mysql AES_ENCRYPT()関数も、文書化されていないため、安全ではない可能性があります
それらが脆弱な方法で行われている場合、暗号化は非常に弱い可能性があります。これが重要かどうかは、ユースケースによって異なります。