16, 24 y 32 bytes de longitud para los modos -128-, -196- y -256-, respectivamente.
La longitud del vector de inicialización es siempre de 16 bytes (se ignoran los bytes que excedan los 16).
HMAC
- blake2b512
- blake2s256
- md4
- md5
- md5-sha1
- mdc2
- ripemd (alias: RIPEMD160, ripemd)
- ripemd160
- rmd160 (alias: RIPEMD160, rmd160)
- sha1
- sha224
- sha256
- sha3-224
- sha3-256
- sha3-384
- sha3-512
- sha384
- sha512
- sha512-224
- sha512-256
- shake128
- shake256
- sm3
- ssl3-md5 (alias: MD5, ssl3-md5)
- ssl3-sha1 (alias: SHA1, ssl3-sha1)
- whirlpool
mode— Nombre del algoritmo hash (sin distinción entre mayúsculas y minúsculas). Admitidos: md5, sha1, sha224, sha256, sha384, sha512.Stringmessage— Mensaje que se va a autenticar.Stringkey— Clave secreta para HMAC.String
String
Ejemplos
HMAC-SHA256 básico
Query
Response
Query
Response
Query
Response
aes_decrypt_mysql
AES_ENCRYPT de MySQL.
Produce el mismo texto plano que decrypt con los mismos argumentos.
Cuando key o iv son más largos de lo que normalmente deberían ser, aes_decrypt_mysql seguirá el comportamiento de aes_decrypt de MySQL: “plegar” key e ignorar los bits sobrantes de IV.
Admite los siguientes modos de descifrado:
- 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— Modo de descifrado.Stringciphertext— Texto cifrado que debe descifrarse.Stringkey— Clave de descifrado.Stringiv— Opcional. Vector de inicialización.String
String
Ejemplos
Descifrar datos de MySQL
Query
Response
aes_encrypt_mysql
AES_ENCRYPT de MySQL.
El texto cifrado resultante puede descifrarse con la función AES_DECRYPT de MySQL.
Produce el mismo texto cifrado que la función encrypt con las mismas entradas.
Cuando key o iv son más largos de lo habitual, aes_encrypt_mysql sigue el comportamiento de aes_encrypt de MySQL: ‘pliega’ key e ignora los bits sobrantes de iv.
Los modos de cifrado compatibles son:
- 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— Modo de cifrado.Stringplaintext— Texto que se debe cifrar.Stringkey— Clave de cifrado. Si la clave es más larga de lo que requieremode, se aplica el plegado de claves específico de MySQL.Stringiv— Opcional. Vector de inicialización. Solo se tienen en cuenta los primeros 16 bytes.String
String
Ejemplos
Comparación de entradas idénticas
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— Modo de descifrado.Stringciphertext— Texto cifrado que debe descifrarse.Stringkey— Clave de descifrado.Stringiv— Vector de inicialización. Obligatorio para los modos-gcmy opcional para los demás.Stringaad— Datos autenticados adicionales. No se descifrará si este valor es incorrecto. Solo funciona en los modos-gcm; en los demás, lanza una excepción.String
String
Ejemplos
Descifrado correcto de datos cifrados
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— Modo de cifrado.Stringplaintext— Texto que debe cifrarse.Stringkey— Clave de cifrado.Stringiv— Vector de inicialización. Obligatorio para los modos-gcm; opcional para los demás.Stringaad— Datos autenticados adicionales. No se cifran, pero afectan al descifrado. Solo funcionan en los modos-gcm; en los demás, lanza una excepción.String
String
Ejemplos
Ejemplo de cifrado
Query
Response
Query
Response
tryDecrypt
decrypt, pero devuelve NULL si el descifrado falla al usar una clave incorrecta.
Sintaxis
mode— Modo de descifrado.Stringciphertext— Texto cifrado que se debe descifrar.Stringkey— Clave de descifrado.Stringiv— Opcional. Vector de inicialización. Obligatorio para los modos-gcm; opcional para otros modos.Stringaad— Opcional. Datos autenticados adicionales. No se podrá descifrar si este valor es incorrecto. Funciona solo en los modos-gcm; en otros modos, lanza una excepción.String
NULL si el descifrado falla. Nullable(String)
Ejemplos
Crear tabla e insertar datos
Query
Response