Skip to content

Crypto

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

7 modules

ModuleDescription
DescriptografarDescriptografar dados usando criptografia AES
CriptografarCriptografar dados usando criptografia AES
HMACGenerate HMAC signature
Criar JWTCriar um token JWT assinado
Verificar JWTVerificar e decodificar um token JWT
Random BytesGenerate cryptographically secure random bytes
Random StringGenerate cryptographically secure random string

Modules

Descriptografar

crypto.decrypt

Descriptografar dados usando criptografia AES

Parameters:

NameTypeRequiredDefaultDescription
ciphertextstringYes-Dados criptografados para descriptografar
keystringYes-Chave de criptografia
modeselect (CBC, GCM)NoGCMModo de cifra AES (CBC, GCM, etc.)
input_formatselect (base64, hex)Nobase64Formato do texto cifrado de entrada (hex ou base64)

Output:

FieldTypeDescription
plaintextstringTexto plano descriptografado
algorithmstringAlgoritmo usado para descriptografia

Example: Decrypt AES-GCM ciphertext

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

Criptografar

crypto.encrypt

Criptografar dados usando criptografia AES

Parameters:

NameTypeRequiredDefaultDescription
plaintextstringYes-Dados para criptografar
keystringYes-Chave de criptografia
modeselect (CBC, GCM)NoGCMModo de cifra AES (CBC, GCM, etc.)
output_formatselect (base64, hex)Nobase64Formato para o texto cifrado de saída (hex ou base64)

Output:

FieldTypeDescription
ciphertextstringTexto cifrado criptografado
algorithmstringAlgoritmo usado para criptografia
modestringModo de cifra usado

Example: Encrypt with AES-GCM

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

HMAC

crypto.hmac

Generate HMAC signature

Parameters:

NameTypeRequiredDefaultDescription
messagestringYes-Message to sign
keystringYes-Message to sign
algorithmselect (sha256, sha512, sha1, md5)Nosha256Secret key for HMAC
encodingselect (hex, base64)NohexOutput encoding format

Output:

FieldTypeDescription
signaturestringOutput encoding format
algorithmstringHMAC signature

Criar JWT

crypto.jwt_create

Criar um token JWT assinado

Parameters:

NameTypeRequiredDefaultDescription
payloadobjectYes-Dados de payload do JWT (objeto)
secretstringYes-Chave secreta para assinar o token
algorithmselect (HS256, HS384, HS512, RS256)NoHS256Algoritmo de assinatura JWT (HS256, RS256, etc.)
expires_innumberNo-Tempo de expiração do token em segundos
issuerstringNo-Declaração do emissor do token
audiencestringNo-Público-alvo pretendido para o token

Output:

FieldTypeDescription
tokenstringToken JWT gerado
algorithmstringAlgoritmo usado para assinatura
expires_atstringTimestamp de expiração do 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 e decodificar um token JWT

Parameters:

NameTypeRequiredDefaultDescription
tokenstringYes-Token JWT para verificar
secretstringYes-Chave secreta usada para assinar o token
algorithmsarrayNo['HS256']Algoritmos de assinatura permitidos
verify_expbooleanNoTrueSe deve verificar a validade do token
audiencestringNo-Declaração de público esperado
issuerstringNo-Emissor esperado

Output:

FieldTypeDescription
validbooleanSe o token é válido
payloadobjectPayload JWT decodificado
headerobjectDados do cabeçalho JWT

Example: Verify a JWT token

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

Random Bytes

crypto.random_bytes

Generate cryptographically secure random bytes

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes32Number of bytes
encodingstringNohexOutput encoding

Output:

FieldTypeDescription
bytesstringRandom bytes (encoded)
lengthnumberRandom bytes (encoded)

Random String

crypto.random_string

Generate cryptographically secure random string

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes16String length
charsetstringNoalphanumericCharacters to use
uppercasebooleanNoFalseConvert to uppercase

Output:

FieldTypeDescription
stringstringConvert to uppercase
lengthnumberRandom string

Released under the Apache 2.0 License.