Skip to content

Crypto

AES encryption/decryption, HMAC, JWT tokens, and secure random generation.

7 modules

ModuleDescription
DesencriptarDesencriptar datos usando cifrado AES
EncriptarEncriptar datos usando cifrado AES
HMACGenerar firma HMAC
Crear JWTCrear un token JWT firmado
Verificar JWTVerificar y decodificar un token JWT
Bytes AleatoriosGenerar bytes aleatorios seguros criptográficamente
Cadena AleatoriaGenerar cadena aleatoria segura criptográficamente

Modules

Desencriptar

crypto.decrypt

Desencriptar datos usando cifrado AES

Parameters:

NameTypeRequiredDefaultDescription
ciphertextstringYes-Datos encriptados para desencriptar
keystringYes-Clave de cifrado
modeselect (CBC, GCM)NoGCMModo de cifrado AES (CBC, GCM, etc.)
input_formatselect (base64, hex)Nobase64Formato del texto cifrado de entrada (hex o base64)

Output:

FieldTypeDescription
plaintextstringTexto plano desencriptado
algorithmstringAlgoritmo usado para desencriptar

Example: Decrypt AES-GCM ciphertext

yaml
ciphertext: <base64-encoded-ciphertext>
key: my-secret-passphrase
mode: GCM

Encriptar

crypto.encrypt

Encriptar datos usando cifrado AES

Parameters:

NameTypeRequiredDefaultDescription
plaintextstringYes-Datos para encriptar
keystringYes-Clave de cifrado
modeselect (CBC, GCM)NoGCMModo de cifrado AES (CBC, GCM, etc.)
output_formatselect (base64, hex)Nobase64Formato para el texto cifrado de salida (hex o base64)

Output:

FieldTypeDescription
ciphertextstringTexto cifrado encriptado
algorithmstringAlgoritmo usado para encriptar
modestringModo de cifrado usado

Example: Encrypt with AES-GCM

yaml
plaintext: Hello, World!
key: my-secret-passphrase
mode: GCM

HMAC

crypto.hmac

Generar firma HMAC

Parameters:

NameTypeRequiredDefaultDescription
messagestringYes-Mensaje a firmar
keystringYes-Mensaje a firmar
algorithmselect (sha256, sha512, sha1, md5)Nosha256Clave secreta para HMAC
encodingselect (hex, base64)NohexFormato de codificación de salida

Output:

FieldTypeDescription
signaturestringFormato de codificación de salida
algorithmstringFirma HMAC

Crear JWT

crypto.jwt_create

Crear un token JWT firmado

Parameters:

NameTypeRequiredDefaultDescription
payloadobjectYes-Datos del payload JWT (objeto)
secretstringYes-Clave secreta para firmar el token
algorithmselect (HS256, HS384, HS512, RS256)NoHS256Algoritmo de firma JWT (HS256, RS256, etc.)
expires_innumberNo-Tiempo de expiración del token en segundos
issuerstringNo-Reclamación del emisor del token
audiencestringNo-Audiencia prevista para el token

Output:

FieldTypeDescription
tokenstringToken JWT generado
algorithmstringAlgoritmo usado para firmar
expires_atstringMarca de tiempo de expiración del token

Example: Create a JWT with expiration

yaml
payload: {"sub": "user123", "role": "admin"}
secret: my-jwt-secret
algorithm: HS256
expires_in: 3600

Verificar JWT

crypto.jwt_verify

Verificar y decodificar un token JWT

Parameters:

NameTypeRequiredDefaultDescription
tokenstringYes-Token JWT para verificar
secretstringYes-Clave secreta usada para firmar el token
algorithmsarrayNo['HS256']Algoritmos de firma permitidos
verify_expbooleanNoTrueVerificar si el reclamo de expiración
audiencestringNo-Reclamación de audiencia esperada
issuerstringNo-Emisor esperado

Output:

FieldTypeDescription
validbooleanSi el token es válido
payloadobjectPayload JWT decodificado
headerobjectDatos del encabezado JWT

Example: Verify a JWT token

yaml
token: eyJhbGciOiJIUzI1NiIs...
secret: my-jwt-secret
algorithms: ["HS256"]
verify_exp: true

Bytes Aleatorios

crypto.random_bytes

Generar bytes aleatorios seguros criptográficamente

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes32Número de bytes
encodingstringNohexCodificación de salida

Output:

FieldTypeDescription
bytesstringBytes aleatorios (codificados)
lengthnumberBytes aleatorios (codificados)

Cadena Aleatoria

crypto.random_string

Generar cadena aleatoria segura criptográficamente

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes16Longitud de la cadena
charsetstringNoalphanumericCaracteres a usar
uppercasebooleanNoFalseConvertir a mayúsculas

Output:

FieldTypeDescription
stringstringConvertir a mayúsculas
lengthnumberCadena aleatoria

Released under the Apache 2.0 License.