Skip to content

Crypto

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

7 modules

ModuleDescription
DécrypterDécrypter les données en utilisant le chiffrement AES
ChiffrerChiffrer les données en utilisant le chiffrement AES
HMACGénérer une signature HMAC
Créer JWTCréer un jeton JWT signé
Vérifier JWTVérifier et décoder un jeton JWT
Octets AléatoiresGénérer des octets aléatoires sécurisés cryptographiquement
Chaîne AléatoireGénérer une chaîne aléatoire sécurisée cryptographiquement

Modules

Décrypter

crypto.decrypt

Décrypter les données en utilisant le chiffrement AES

Parameters:

NameTypeRequiredDefaultDescription
ciphertextstringYes-Données chiffrées à décrypter
keystringYes-Clé de chiffrement
modeselect (CBC, GCM)NoGCMMode de chiffrement AES (CBC, GCM, etc.)
input_formatselect (base64, hex)Nobase64Format du texte chiffré en entrée (hex ou base64)

Output:

FieldTypeDescription
plaintextstringTexte en clair décrypté
algorithmstringAlgorithme utilisé pour le décryptage

Example: Decrypt AES-GCM ciphertext

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

Chiffrer

crypto.encrypt

Chiffrer les données en utilisant le chiffrement AES

Parameters:

NameTypeRequiredDefaultDescription
plaintextstringYes-Données à chiffrer
keystringYes-Clé de chiffrement
modeselect (CBC, GCM)NoGCMMode de chiffrement AES (CBC, GCM, etc.)
output_formatselect (base64, hex)Nobase64Format pour le texte chiffré en sortie (hex ou base64)

Output:

FieldTypeDescription
ciphertextstringTexte chiffré
algorithmstringAlgorithme utilisé pour le chiffrement
modestringMode de chiffrement utilisé

Example: Encrypt with AES-GCM

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

HMAC

crypto.hmac

Générer une signature HMAC

Parameters:

NameTypeRequiredDefaultDescription
messagestringYes-Message à signer
keystringYes-Message à signer
algorithmselect (sha256, sha512, sha1, md5)Nosha256Clé secrète pour HMAC
encodingselect (hex, base64)NohexFormat de codage de sortie

Output:

FieldTypeDescription
signaturestringFormat de codage de sortie
algorithmstringSignature HMAC

Créer JWT

crypto.jwt_create

Créer un jeton JWT signé

Parameters:

NameTypeRequiredDefaultDescription
payloadobjectYes-Données de charge utile JWT (objet)
secretstringYes-Clé secrète pour signer le jeton
algorithmselect (HS256, HS384, HS512, RS256)NoHS256Algorithme de signature JWT (HS256, RS256, etc.)
expires_innumberNo-Temps d'expiration du jeton en secondes
issuerstringNo-Émetteur du jeton
audiencestringNo-Audience prévue pour le jeton

Output:

FieldTypeDescription
tokenstringJeton JWT généré
algorithmstringAlgorithme utilisé pour la signature
expires_atstringHorodatage d'expiration du jeton

Example: Create a JWT with expiration

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

Vérifier JWT

crypto.jwt_verify

Vérifier et décoder un jeton JWT

Parameters:

NameTypeRequiredDefaultDescription
tokenstringYes-Jeton JWT à vérifier
secretstringYes-Clé secrète utilisée pour signer le jeton
algorithmsarrayNo['HS256']Algorithmes de signature autorisés
verify_expbooleanNoTrueVérifier la date d'expiration
audiencestringNo-Audience attendue
issuerstringNo-Émetteur attendu

Output:

FieldTypeDescription
validbooleanSi le jeton est valide
payloadobjectCharge utile JWT décodée
headerobjectDonnées d'en-tête JWT

Example: Verify a JWT token

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

Octets Aléatoires

crypto.random_bytes

Générer des octets aléatoires sécurisés cryptographiquement

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes32Nombre d'octets
encodingstringNohexCodage de sortie

Output:

FieldTypeDescription
bytesstringOctets aléatoires (encodés)
lengthnumberOctets aléatoires (encodés)

Chaîne Aléatoire

crypto.random_string

Générer une chaîne aléatoire sécurisée cryptographiquement

Parameters:

NameTypeRequiredDefaultDescription
lengthnumberYes16Longueur de la chaîne
charsetstringNoalphanumericCaractères à utiliser
uppercasebooleanNoFalseConvertir en majuscules

Output:

FieldTypeDescription
stringstringConvertir en majuscules
lengthnumberChaîne aléatoire

Released under the Apache 2.0 License.