Skip to content

Crypto

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

7 modules

ModuleDescription
DecrittografaDecrittografa i dati utilizzando la crittografia AES
CrittografaCrittografa i dati utilizzando la crittografia AES
HMACGenera firma HMAC
Crea JWTCrea un token JWT firmato
Verifica JWTVerifica e decodifica un token JWT
Byte CasualiGenera byte casuali crittograficamente sicuri
Stringa CasualeGenera stringa casuale crittograficamente sicura

Modules

Decrittografa

crypto.decrypt

Decrittografa i dati utilizzando la crittografia AES

Parameters:

NameTypeRequiredDefaultDescription
ciphertextstringYes-Dati crittografati da decrittografare
keystringYes-Chiave di crittografia
modeselect (CBC, GCM)NoGCMModalità cifratura AES (CBC, GCM, ecc.)
input_formatselect (base64, hex)Nobase64Formato del testo cifrato in ingresso (hex o base64)

Output:

FieldTypeDescription
plaintextstringTesto in chiaro decrittografato
algorithmstringAlgoritmo usato per la decrittografia

Example: Decrypt AES-GCM ciphertext

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

Crittografa

crypto.encrypt

Crittografa i dati utilizzando la crittografia AES

Parameters:

NameTypeRequiredDefaultDescription
plaintextstringYes-Dati da crittografare
keystringYes-Chiave di crittografia
modeselect (CBC, GCM)NoGCMModalità cifratura AES (CBC, GCM, ecc.)
output_formatselect (base64, hex)Nobase64Formato per il testo cifrato in uscita (hex o base64)

Output:

FieldTypeDescription
ciphertextstringTesto cifrato crittografato
algorithmstringAlgoritmo usato per la crittografia
modestringModalità di cifratura usata

Example: Encrypt with AES-GCM

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

HMAC

crypto.hmac

Genera firma HMAC

Parameters:

NameTypeRequiredDefaultDescription
messagestringYes-Messaggio da firmare
keystringYes-Messaggio da firmare
algorithmselect (sha256, sha512, sha1, md5)Nosha256Chiave segreta per HMAC
encodingselect (hex, base64)NohexFormato di codifica dell'output

Output:

FieldTypeDescription
signaturestringFormato di codifica dell'output
algorithmstringFirma HMAC

Crea JWT

crypto.jwt_create

Crea un token JWT firmato

Parameters:

NameTypeRequiredDefaultDescription
payloadobjectYes-Dati payload JWT (oggetto)
secretstringYes-Chiave segreta per firmare il token
algorithmselect (HS256, HS384, HS512, RS256)NoHS256Algoritmo di firma JWT (HS256, RS256, ecc.)
expires_innumberNo-Tempo di scadenza del token in secondi
issuerstringNo-Claim dell'emittente del token
audiencestringNo-Pubblico previsto per il token

Output:

FieldTypeDescription
tokenstringToken JWT generato
algorithmstringAlgoritmo usato per la firma
expires_atstringTimestamp di scadenza del token

Example: Create a JWT with expiration

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

Verifica JWT

crypto.jwt_verify

Verifica e decodifica un token JWT

Parameters:

NameTypeRequiredDefaultDescription
tokenstringYes-Token JWT da verificare
secretstringYes-Chiave segreta usata per firmare il token
algorithmsarrayNo['HS256']Algoritmi di firma consentiti
verify_expbooleanNoTrueSe verificare il claim di scadenza
audiencestringNo-Claim del pubblico previsto
issuerstringNo-Claim dell'emittente previsto

Output:

FieldTypeDescription
validbooleanSe il token è valido
payloadobjectPayload JWT decodificato
headerobjectDati dell'intestazione JWT

Example: Verify a JWT token

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

Byte Casuali

crypto.random_bytes

Genera byte casuali crittograficamente sicuri

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes32Numero di byte
encodingstringNohexCodifica dell'output

Output:

FieldTypeDescription
bytesstringByte casuali (codificati)
lengthnumberByte casuali (codificati)

Stringa Casuale

crypto.random_string

Genera stringa casuale crittograficamente sicura

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes16Lunghezza della stringa
charsetstringNoalphanumericCaratteri da usare
uppercasebooleanNoFalseConverti in maiuscolo

Output:

FieldTypeDescription
stringstringConverti in maiuscolo
lengthnumberStringa casuale

Released under the Apache 2.0 License.