SET ENCRYPTION PASSWORD ステートメント

SET ENCRYPTION PASSWORD ステートメントは、 ENCRYPT、DECRYPT_BIN、および DECRYPT_CHAR 関数によって使用されるパスワードを設定します。 このパスワードはデータベース認証には関連付けられず、データの暗号化および暗号化解除にのみ使用されます。

このステートメントは、トランザクションの制御下にありません。

重要: SET ENCRYPTION PASSWORD ステートメントは非推奨であり、将来のリリースでは使用されない可能性があります。

呼び出し

このステートメントはアプリケーション・プログラムに組み込むことができ、また対話式に出すことができます。 このステートメントは、動的に作成できる実行可能ステートメントです。

許可

必要ありません。

構文

Read syntax diagramSkip visual syntax diagram SET ENCRYPTION PASSWORD = host-variablestring-constant

説明

暗号化パスワードは、パスワード・ベースの暗号化のための ENCRYPT、DECRYPT_BIN、および DECRYPT_CHAR 組み込み関数によって使用できます。 パスワードは 6 バイトから 127 バイトまでの範囲の長さでなければならず、自動大文字変換は行われないため、文字はすべて意図されたとおりに大文字小文字を区別して指定しなければなりません。 システムで最高レベルのセキュリティーを維持するためには、パスワードの指定に SET ENCRYPTION PASSWORD ステートメントでリテラル・ストリングを使用するのではなく、ホスト変数または動的パラメーター・マーカーを使用することをお勧めします。

ホスト変数 (host-variable)
タイプ CHAR または VARCHAR の変数です。 host-variable の長さは 6 から 127 バイトの間でなければなりません (SQLSTATE 428FC)。 NULL に設定することはできません。 大文字変換は行われないため、文字はすべて大文字小文字を区別して指定します。
ストリング定数
文字ストリング定数です。 長さは 6 から 127 バイトの間でなければなりません (SQLSTATE 428FC)。

  • ENCRYPTION PASSWORD の初期値は空ストリングです。
  • host-variable または string-constant は、 標準データベース・メカニズムでデータベース・サーバーに送信されます。

以下の例は、パラメーター・マーカーを使用する組み込み SQL アプリケーション中で ENCRYPTION PASSWORD 特殊レジスターを設定する方法を示しています。 アプリケーション中でパラメーター・マーカーを使用して常にこの特殊レジスターをセットアップすることを強くお勧めします。
EXEC SQL BEGIN DECLARE SECTION; 
      char hostVarSetEncPassStmt[200]; 
      char hostVarPassword[128]; 
EXEC SQL END DECLARE SECTION; 

/* prepare the statement with a parameter marker */ 
strcpy(hostVarSetEncPassStmt, "SET ENCRYPTION PASSWORD = ?"); 
EXEC SQL PREPARE hostVarSetEncPassStmt FROM :hostVarSetEncPassStmt;

/* execute the statement for hostVarPassword = 'Gre89Ea' */ 
strcpy(hostVarPassword, "Gre89Ea"); 
EXEC SQL EXECUTE hostVarSetEncPassStmt USING :hostVarPassword;