6

誰もがどのように/どこで列に適用できるか、md5暗号化を知っていますか?

ユーザーパスワードテーブルを作成しています。パスワード列にmd5暗号化を適用したいと思います。

前もって感謝します。

4

5 に答える 5

11

mysqlワークベンチマニュアルからの抜粋:

関数やその他の式をフィールドに入力することができます。MySQL Workbenchが引用符をエスケープしないようにするには、プレフィックス\funcを使用します。たとえば、式md5('fred')の場合、MySQL Workbenchは通常コードmd5(\'fred \')を生成します。これを防ぐには、式を\ func md5('fred')と入力して、引用符がエスケープされないようにします。

于 2012-07-16T19:09:27.640 に答える
6

文字列が与えられると32桁の16進数の文字列を返す「md5()」関数があります。char(32)の列を作成して、それを保持するだけでうまくいくはずです。

ドキュメントを参照してください。

MySqlワークベンチ内でこれを使用するという点では、md5ハッシュを明示的に含むように列をマークすることはできないと思います。実際には、前述のように、char列にmd5ハッシュを配置するだけです。この方法で、挿入された文字列に対して列にmd5関数呼び出しを暗黙的に実行させることができるとは思いません。(私は間違っている可能性があります)。

于 2011-05-01T13:46:13.357 に答える
0

1年以上経ちました...しかし、他の誰かが私のようにここに落ちたら:-)

そしてそれはこのようになります:

注関数またはその他の式をフィールドに入力することができます。MySQL Workbenchが引用符をエスケープしないようにするには、プレフィックス\funcを使用します。たとえば、式md5('fred')の場合、MySQL Workbenchは通常コードmd5(\'fred \')を生成します。これを防ぐには、式を\ func md5('fred')と入力して、引用符がエスケープされないようにします。

ここに全体のドキュメント。

于 2012-06-21T17:46:31.350 に答える
0

その/funcことは私にはうまくいきませんでした。それは常にそれを無視し、それを文字列として扱いました。ただし、SQLインジェクションを使用してWorkbenchをだますことができました。

(SELECT ...)-ステートメントを書くとうまくいきました。だから私はこれを私の分野に入れました:

( SELECT GeomFromText( 'POLYGON (( 0 -90, 0 90, 360 90, 360 -90, 0 -90)) ' ) )

そして、データベースフィールドに文字列ではなくポリゴンオブジェクトを入力しました。

于 2013-05-07T15:30:50.127 に答える
-1

前に述べたように、md5フィールドは32のvarcharです。

于 2011-05-25T12:29:32.457 に答える