目次

Search

  1. はじめに
  2. 関数リファレンス
  3. 定数
  4. 演算子
  5. 日付
  6. 関数
  7. システム変数
  8. データ型リファレンス

関数リファレンス

関数リファレンス

AES_GCM_ENCRYPT

AES_GCM_ENCRYPT

バイナリ暗号文を返します。
データ統合
は、ガロア/カウンタモード(GCM)の動作でAdvanced Encryption Standard(AES)アルゴリズムを使用します。AESアルゴリズムは、128、192、または256ビットキーを使用するFIPS承認済みの暗号化アルゴリズムです。
この関数を使用して、機密データが必要以上に露出されることを回避します。例えばデータベースに社会保険番号を格納する場合、AES_GCM_ENCRYPT関数を使用して社会保険番号を暗号化し、機密性を確保します。
AES-GCMは、128ビットの認証タグを作成し、それを暗号化された暗号文に追加します。復号化は、認証タグを検証して削除します。認証タグは、データの暗号化チェックサムであり、偶発的なエラーとデータの意図的な変更の両方を明らかにします。
[検証]
ボタンを使用してこの関数を検証することはできません。構文と引数の規則を確認して、引数が有効であることを確認してください。

構文

AES_GCM_ENCRYPT (
value, init_vector, key [, keysize]
)
引数
必須/
オプション
説明
value
必須
Stringデータ型。暗号文に暗号化されるプレーンテキストの値。
init_vector
必須
Stringデータ型。プレーンテキストを暗号化するには、初期化ベクトル(IV)を使用します。IVは96ビットで、ランダムに生成されたものである必要があります。IVは、暗号化プロセスの開始にランダム性を付加するために、暗号化中にキーとともに使用されるビットのブロックです。
キーが同じで暗号化文字列が異なるIVを再利用しないでください。
key
必須
サイズが128、192、または256ビットの文字列データ型。keyのサイズがkeysizeより小さい場合、残りはnullとしてパディングされます。
keysize
key引数のサイズ(ビット単位)により、keysize引数がオプションであるか必須であるかが決まります。
  • key引数のサイズが128ビット以下の場合、keysizeはオプションです。
  • key引数のサイズが128ビットより大きく、かつ192ビット以下の場合、keysizeは192ビットであり、必須です。
  • key引数のサイズが192ビットより大きく、かつ256ビット以下の場合、keysizeは256ビットであり、必須です。
整数データ型。指定されたkeyのサイズ。
可能な値: 128、192、または256ビット。デフォルト値は128ビットです。

戻り値

暗号化されたバイナリ暗号文。
NULL値を入力した場合は、NULLです。

以下の例では、社会保険番号の暗号化された値が返されます。
init_vector
key
値は、後で社会保障番号を復号化するために使用されます。
この例では、
init_vector
は12文字(96ビット)で、
key
は16文字(128ビット)です。keyがデフォルト値の128ビットであるため、
keysize
はオプションです。
AES_GCM_ENCRYPT('832-17-1672', '012345678901', '1234567890123456', 128)
この例では、
init_vector
は12文字(96ビット)で、
key
は17文字(136ビット)であるため、
keysize
は必須です。keyのサイズが192ビットより小さい場合、keyはnullでパディングされます。
AES_GCM_ENCRYPT('832-17-1672', '123456789012', '12345678901234567', 192)

ヒント

ターゲットでバイナリデータがサポートされていない場合、ENC_BASE64関数でAES_GCM_ENCRYPTを使用して、データベースと互換性のある形式でデータを保存します。