Hi, I'm Ask INFA!
What would you like to know?
ASK INFAPreview
Please to access Ask INFA.

目次

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を使用して、データベースと互換性のある形式でデータを保存します。