-128-、-196- 和 -256- 模式分别对应 16、24 和 32 字节。
初始化向量的长度始终为 16 字节 (超过 16 字节的部分将被忽略) 。
HMAC
- 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。Stringmessage— 待认证的消息。Stringkey— 用于 HMAC 的密钥。String
String
示例
基本 HMAC-SHA256
Query
Response
Query
Response
Query
Response
aes_decrypt_mysql
AES_ENCRYPT 函数加密的数据。
对于相同的输入,它生成的明文与 decrypt 相同。
当 key 或 iv 的长度超过正常应有的长度时,aes_decrypt_mysql 会与 MySQL 的 aes_decrypt 保持一致:对 key 进行“折叠”,并忽略 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
String
示例
解密 MySQL 数据
Query
Response
aes_encrypt_mysql
AES_ENCRYPT 函数相同的方式加密文本。
生成的密文可使用 MySQL 的 AES_DECRYPT 函数解密。
对于相同的输入,它生成的密文与 encrypt 函数相同。
当 key 或 iv 的长度超过其通常应有的长度时,aes_encrypt_mysql 会遵循 MySQL 的 aes_encrypt 行为:对 key 进行“折叠”,并忽略 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— 加密模式。Stringplaintext— 要加密的明文。Stringkey— 加密密钥。如果密钥长度超过mode要求的长度,则会执行 MySQL 特有的密钥折叠。Stringiv— 可选。初始化向量。只有前 16 个字节会被使用。String
String
示例
相同输入的比较
Query
Response
Query
Response
Query
Response
Query
Response
decrypt
- 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— 解密模式。Stringciphertext— 待解密的密文。Stringkey— 解密密钥。Stringiv— 初始化向量。在-gcm模式下为必填项,其他模式下可选。Stringaad— 附加认证数据。若此值不正确,则无法解密。仅适用于-gcm模式;用于其他模式时会抛出异常。String
String
示例
正确解密已加密的数据
Query
Response
Query
Response
encrypt
- 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— 加密模式。Stringplaintext— 要加密的文本。Stringkey— 加密密钥。Stringiv— 初始化向量。在-gcm模式下为必填项,其他模式下可选。Stringaad— 附加认证数据。它不会被加密,但会影响解密结果。仅在-gcm模式下有效;在其他模式下会抛出异常。String
String
示例
加密示例
Query
Response
Query
Response
tryDecrypt
decrypt 函数类似,但在使用错误的密钥导致解密失败时,会返回 NULL。
语法
mode— 解密模式。Stringciphertext— 需要解密的密文。Stringkey— 解密密钥。Stringiv— 可选。初始化向量。-gcm模式下必需,其他模式下可选。Stringaad— 可选。附加认证数据。如果该值不正确,则无法解密。仅适用于-gcm模式;用于其他模式时会抛出异常。String
NULL。Nullable(String)
示例
创建表并插入数据
Query
Response