宣言
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