メインコンテンツへスキップ
これらの関数は、AES (Advanced Encryption Standard) アルゴリズムによるデータの暗号化と復号を行います。 鍵の長さは暗号化モードによって異なり、-128--196--256- モードではそれぞれ 162432 バイトです。 初期化ベクトルの長さは常に 16 バイトです (16 バイトを超える部分は無視されます) 。

HMAC

導入バージョン: v25.12.0 指定したハッシュアルゴリズムと秘密鍵を使用して、指定したメッセージの HMAC (Hash-based Message Authentication Code) を計算します。 対応しているハッシュアルゴリズム:
  • blake2b512
  • blake2s256
  • md4
  • md5
  • md5-sha1
  • mdc2
  • ripemd (別名: RIPEMD160, ripemd)
  • ripemd160
  • rmd160 (別名: RIPEMD160, rmd160)
  • sha1
  • sha224
  • sha256
  • sha3-224
  • sha3-256
  • sha3-384
  • sha3-512
  • sha384
  • sha512
  • sha512-224
  • sha512-256
  • shake128
  • shake256
  • sm3
  • ssl3-md5 (別名: MD5, ssl3-md5)
  • ssl3-sha1 (別名: SHA1, ssl3-sha1)
  • whirlpool
構文
引数
  • mode — ハッシュアルゴリズム名 (大文字と小文字は区別されません) 。対応: md5, sha1, sha224, sha256, sha384, sha512。String
  • message — 認証対象のメッセージ。String
  • key — HMAC の秘密鍵。String
戻り値 HMAC ダイジェストを含むバイナリ文字列を返します。String 基本的な HMAC-SHA256
Query
Response
さまざまなハッシュアルゴリズム
Query
Response
大文字と小文字を区別しないモード
Query
Response

aes_decrypt_mysql

導入バージョン: v20.12.0 MySQL の AES_ENCRYPT 関数で暗号化されたデータを復号します。 同じ入力に対して、decrypt と同じ平文を生成します。 key または iv が通常より長い場合、aes_decrypt_mysql は MySQL の aes_decrypt と同様に、key を「fold」し、IV の余分なビットを無視します。 次の復号モードをサポートしています。
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-cfb128
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
構文
引数
  • mode — 復号モード。 String
  • ciphertext — 復号する暗号文。 String
  • key — 復号キー。 String
  • iv — 任意。初期化ベクトル。 String
戻り値 復号された文字列を返します。 String MySQL データを復号する
Query
Response

aes_encrypt_mysql

導入バージョン: v20.12.0 MySQL の AES_ENCRYPT 関数と同じ方法でテキストを暗号化します。 生成された暗号文は、MySQL の AES_DECRYPT 関数で復号できます。 同じ入力に対しては、encrypt 関数と同じ暗号文を生成します。 key または iv が通常の想定より長い場合、aes_encrypt_mysql は MySQL の aes_encrypt と同様に動作し、key は「fold」され、iv の超過分のビットは無視されます。 サポートされている暗号化モードは次のとおりです。
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
構文
引数
  • mode — 暗号化モード。String
  • plaintext — 暗号化する平文。String
  • key — 暗号化キー。mode で必要とされる長さより長い場合は、MySQL 固有のキーの折りたたみが行われます。String
  • iv — 任意。初期化ベクトル。最初の 16 バイトのみが使用されます。String
戻り値 暗号文のバイナリ文字列。String 同じ入力の比較
Query
Response
キーが長いと暗号化に失敗する
Query
Response
MySQLとの互換性
Query
Response
IVが長くても結果は同じです
Query
Response

decrypt

導入バージョン: v20.12.0 この関数は、次のモードを使用して、AES で暗号化されたバイナリ文字列を復号します。
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
構文
引数
  • mode — 復号モード。String
  • ciphertext — 復号する暗号文。String
  • key — 復号キー。String
  • iv — 初期化ベクトル。-gcm モードでは必須で、それ以外では任意です。String
  • aad — 追加認証データ。この値が正しくないと復号できません。-gcm モードでのみ使用でき、それ以外では例外が発生します。String
戻り値 復号された平文を返します。String 暗号化されたデータを正しく復号する
Query
Response
暗号化されたデータを正しく復号できない
Query
Response

encrypt

導入バージョン: v20.12.0 AES の次のいずれかのモードを使用して、平文を暗号文に暗号化します。
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
構文
引数
  • mode — 暗号化モード。String
  • plaintext — 暗号化する平文。String
  • key — 暗号化キー。String
  • iv — 初期化ベクトル。-gcm モードでは必須で、それ以外では任意です。String
  • aad — 追加認証データ。これは暗号化されませんが、復号に影響します。-gcm モードでのみ機能し、それ以外では例外がスローされます。String
戻り値 バイナリ文字列の暗号文を返します。String 暗号化の例
Query
Response
GCMモードの例
Query
Response

tryDecrypt

導入バージョン: v22.10.0 decrypt 関数と同様ですが、誤った秘密鍵を使用したために復号に失敗した場合は NULL を返します。 構文
引数
  • mode — 復号モード。String
  • ciphertext — 復号対象の暗号文。String
  • key — 復号キー。String
  • iv — 任意。初期化ベクトル。-gcm モードでは必須で、その他のモードでは任意です。String
  • aad — 任意。追加認証データ。この値が正しくない場合、復号できません。-gcm モードでのみ機能し、その他のモードでは例外がスローされます。String
戻り値 復号された String を返します。復号に失敗した場合は NULL を返します。Nullable(String) テーブルを作成してデータを挿入
Query
Response
最終更新日 2026年7月2日