Symmetric
L'endpoint /symmetric chiffre et déchiffre du texte par chiffrement symétrique AES.
curl -X POST \ "https://api.moxon.dev/v5/symmetric" \ -H "Content-Type: application/json" \ -d '{}'Envoyez la requête pour voir la réponse ici.
Le corps de la requête doit être en JSON :
action"encrypt" | "decrypt"requisAction à effectuer :
encryptoudecrypttextstringrequisTexte à chiffrer, ou blob base64 à déchiffrer
keystringrequisClé de chiffrement (minimum 8 caractères)
algorithm"aes-256-gcm" | "aes-256-cbc" | "aes-128-gcm"optionnelAlgorithme de chiffrement :
aes-256-gcm(défaut),aes-256-cbcouaes-128-gcm
La clé brute n'est jamais utilisée directement. Elle est dérivée avec scryptSync à partir d'un sel aléatoire de 16 octets, produisant une clé de longueur fixe sécurisée quelle que soit la longueur de l'entrée.
Le résultat chiffré est retourné sous forme de chaîne base64 avec une structure binaire qui dépend de l'algorithme :
GCM : [16 octets sel][12 octets IV][16 octets tag d'authentification][texte chiffré]
CBC : [16 octets sel][16 octets IV][32 octets MAC HMAC-SHA256][texte chiffré]- Sel (16 octets) : utilisé pour dériver la clé (et, pour CBC, une clé HMAC séparée)
- IV : vecteur d'initialisation (12 octets en GCM, 16 octets en CBC)
- Tag d'authentification / MAC : vérification d'intégrité — un tag GCM natif (16 octets) en GCM, ou un MAC HMAC-SHA256 (32 octets) en CBC, vérifié par comparaison à temps constant
- Texte chiffré : le contenu chiffré
Passer ce blob comme valeur de text pour déchiffrer.
Changement cassant en 5.4.0
Les blobs CBC embarquent désormais un MAC d'intégrité. Les blobs produits par aes-256-cbc avant la 5.4.0 (sans MAC) ne peuvent plus être déchiffrés — il faut les rechiffrer avec la version actuelle. Les blobs GCM ne sont pas affectés.
actionstringAction effectuée (
encryptoudecrypt)algorithmstringAlgorithme de chiffrement utilisé
resultstringBlob base64 chiffré, ou texte brut déchiffré
Si les paramètres sont manquants ou invalides, l'API retournera une erreur :
- 400
Action is requiredLe paramètreactionest manquant - 400
Action must be one of: encrypt, decryptLa valeur deactionn'est pas valide - 400
Text is requiredLe paramètretextest manquant ou vide - 400
Text exceeds maximum allowed lengthLetextdépasse la longueur maximale autorisée - 400
Key is requiredLe paramètrekeyest manquant - 400
Key must be at least 8 charactersLakeyfait moins de 8 caractères - 400
Algorithm must be one of: aes-256-gcm, aes-256-cbc, aes-128-gcmL'algorithmn'est pas supporté
Mis à jour le 26 juillet 2026