質問

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()関数も文書化されていないため、潜在的に安全ではありません

  • パスワードをキーにハッシュする方法
  • 使用する暗号モード

脆弱な方法で行われた場合、暗号化は非常に弱くなる可能性があります。これが重要かどうかは、ユースケースによって異なります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top