MySQL @Wiki 実用リファレンス

DES_ENCRYPT

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可


DES_ENCRYPT

DES_ENCRYPT(string_to_encrypt [, (key_number | key_string) ] )
指定されたキーを使用して、Triple-DES アルゴリズムによって文字列の暗号化を解除する。
注意: この関数は、MySQL で SSL のサポートが組み込まれている場合にのみ機能する。
使用する暗号化キーは次の方法で選択される。
引数 説明
引数が 1 つだけ des-key-file ファイル内の最初のキーを使用。
キー番号 des-key-file ファイル内の、指定されたキー(0 〜 9)を使用。
文字列 key_string に指定された文字列を使用して string_to_encrypt の暗号化を解除。

関数の結果として、バイナリ文字列が返される。この文字列の最初の文字は CHAR(128 | key_number) になる。
128 は暗号化されたキーを見分けやすくする目的で追加される。 文字列キーを使用すると、key_number は 127 になる。
エラー時には、NULL が返される。
結果の文字列長は new_length= org_length + (8-(org_length % 8))+1 になる。
des-key-file の形式は次のとおり。


key_number des_key_string
key_number des_key_string

各 key_number は 0 〜 9 の範囲の番号でなければならない。ファイル内の行は任意の順序にすることができる。des_key_string は、メッセージの暗号化に使用する文字列。番号とキーの間には、1 つ以上のスペースを挿入する。最初のキーは、DES_ENCRYPT() にキー引数を何も指定しない場合に使用されるデフォルトのキー。
FLUSH DES_KEY_FILE コマンドを使用すると、MySQL にキーファイルから新しいキー値を読み取らせることができる。このコマンドを使用するには、Reload_priv 権限が必要になる。
デフォルトキーのセットを用意しておく利点の 1 つは、暗号化されたカラム値が存在するかどうかアプリケーションでチェックできることである。この場合、それらの値を解読する権利をエンドユーザに与える必要はない。

mysql> [[SELECT]] customer_address FROM customer_table WHERE
       crypted_credit_card = DES_ENCRYPT("credit_card_number");


記事メニュー
人気記事ランキング
ウィキ募集バナー