宣言
DES_ENCRYPT(str[,{key_num|key_str}])
説明
この機能は、OceanBaseデータベースがSSLサポートに設定されている場合にのみ有効です。
key_strパラメータは、strを暗号化するための暗号化キーを渡すために使用されます。このパラメータが指定されていない場合、DESキー ファイル内の最初のキーが使用されます。key_numパラメータの値は、DESキー ファイル内のキー番号 (0 ~ 9) です。
返される文字列はバイナリ文字列であり、最初の文字はCHAR(128 | key_num)です。エラー発生時、DES_ENCRYPT()はNULL返します。128は暗号化キーを識別しやすくするためのものです。文字列キーを使用する場合、key_numは127になります。
結果の文字列長は、次の式に基づいて計算されます:
new_len = orig_len + (8 - (orig_len % 8)) + 1
DESキー ファイル内の各行の形式はkey_num des_key_str_です。各key_num値は0から9の範囲内の数字でなければなりません。ファイル内の行は任意の順序で配置できます。des_key_strは情報を暗号化するための文字列です。数字とキーの間には少なくとも1つのスペースが必要です。DES_ENCRYPT()にキー パラメータを指定しない場合、最初のキーがデフォルトのキーとして使用されます。
説明
OceanBaseデータベースの現在のバージョンでは、--des_key_fileを使用してDESキー ファイルを編集することはサポートされていないため、現在のところDES_ENCRYPT()およびDES_DECRYPT()からキー ファイルに読み取られるキーは、MySQL 8.0のデフォルトのキー ファイルと同じです。
例
obclient [test]> SELECT DES_ENCRYPT('text', CONCAT('ob_random_salt','ob_secret_password'));
+--------------------------------------------------------------------+
| DES_ENCRYPT('text', CONCAT('ob_random_salt','ob_secret_password')) |
+--------------------------------------------------------------------+
| ]UA |
+--------------------------------------------------------------------+
1 row in set