w

Référence API

Aperçu

Le calculateur de hash MD5 fournit une interface API RESTful complète supportant le calcul de texte, le traitement de fichiers et les opérations par lot.

Informations de Base

  • URL de Base: https://api.example.com/md5
  • Authentification: Clé API
  • Format de Données: JSON
  • Encodage de Caractères: UTF-8

Format de Réponse

Toutes les réponses API suivent un format unifié:

{
  "success": true,
  "data": {
    // Données spécifiques
  },
  "message": "Opération réussie",
  "timestamp": "2024-01-20T10:30:00Z"
}

Calcul MD5 de Texte

Calculer MD5 de Texte

Point de Terminaison: POST /api/md5/text

Paramètres de Requête:

{
  "text": "Contenu du texte à calculer",
  "encoding": "utf8",
  "outputFormat": "hex"
}

Description des Paramètres:

ParamètreTypeRequisDescription
textstringOuiContenu du texte à calculer MD5
encodingstringNonEncodage de caractères, défaut utf8
outputFormatstringNonFormat de sortie, défaut hex

Formats d'Encodage Supportés:

  • utf8: Encodage UTF-8
  • ascii: Encodage ASCII
  • utf16: Encodage UTF-16
  • gbk: Encodage GBK

Formats de Sortie Supportés:

  • hex: Hexadécimal en minuscules
  • hex-upper: Hexadécimal en majuscules
  • base64: Encodage Base64

Exemple de Réponse:

{
  "success": true,
  "data": {
    "text": "Hello, World!",
    "hash": "65a8e27d8879283831b664bd8b7f0ad4",
    "encoding": "utf8",
    "outputFormat": "hex",
    "length": 32
  },
  "message": "Calcul réussi",
  "timestamp": "2024-01-20T10:30:00Z"
}

Calcul de Texte par Lot

Point de Terminaison: POST /api/md5/text/batch

Paramètres de Requête:

{
  "texts": ["Texte1", "Texte2", "Texte3"],
  "encoding": "utf8",
  "outputFormat": "hex"
}

Exemple de Réponse:

{
  "success": true,
  "data": {
    "results": [
      {
        "text": "Texte1",
        "hash": "hash1",
        "index": 0
      },
      {
        "text": "Texte2",
        "hash": "hash2",
        "index": 1
      },
      {
        "text": "Texte3",
        "hash": "hash3",
        "index": 2
      }
    ],
    "total": 3,
    "encoding": "utf8",
    "outputFormat": "hex"
  },
  "message": "Calcul par lot réussi",
  "timestamp": "2024-01-20T10:30:00Z"
}

Calcul MD5 de Fichier

Calcul de Fichier Téléchargé

Point de Terminaison: POST /api/md5/file

Format de Requête: multipart/form-data

Paramètres de Requête:

ParamètreTypeRequisDescription
filefileOuiFichier à calculer
outputFormatstringNonFormat de sortie, défaut hex

Exemple de Réponse:

{
  "success": true,
  "data": {
    "filename": "example.txt",
    "size": 1024,
    "hash": "d41d8cd98f00b204e9800998ecf8427e",
    "outputFormat": "hex",
    "processingTime": 150
  },
  "message": "Calcul de fichier réussi",
  "timestamp": "2024-01-20T10:30:00Z"
}

Calcul de Fichiers par Lot

Point de Terminaison: POST /api/md5/file/batch

Format de Requête: multipart/form-data

Paramètres de Requête:

ParamètreTypeRequisDescription
filesfileOuiTableau de fichiers à calculer
outputFormatstringNonFormat de sortie, défaut hex

Exemple de Réponse:

{
  "success": true,
  "data": {
    "results": [
      {
        "filename": "file1.txt",
        "size": 1024,
        "hash": "hash1",
        "processingTime": 150
      },
      {
        "filename": "file2.txt",
        "size": 2048,
        "hash": "hash2",
        "processingTime": 200
      }
    ],
    "total": 2,
    "totalSize": 3072,
    "totalTime": 350
  },
  "message": "Calcul de fichiers par lot réussi",
  "timestamp": "2024-01-20T10:30:00Z"
}

Vérification de Valeur de Hash

Vérifier Valeur de Hash

Point de Terminaison: POST /api/md5/verify

Paramètres de Requête:

{
  "text": "Texte à vérifier",
  "expectedHash": "Valeur de hash attendue",
  "encoding": "utf8"
}

Exemple de Réponse:

{
  "success": true,
  "data": {
    "text": "Hello, World!",
    "expectedHash": "65a8e27d8879283831b664bd8b7f0ad4",
    "calculatedHash": "65a8e27d8879283831b664bd8b7f0ad4",
    "isValid": true,
    "encoding": "utf8"
  },
  "message": "Vérification réussie",
  "timestamp": "2024-01-20T10:30:00Z"
}

Vérification d'Intégrité de Fichier

Point de Terminaison: POST /api/md5/verify/file

Format de Requête: multipart/form-data

Paramètres de Requête:

ParamètreTypeRequisDescription
filefileOuiFichier à vérifier
expectedHashstringOuiValeur de hash attendue

Exemple de Réponse:

{
  "success": true,
  "data": {
    "filename": "example.txt",
    "expectedHash": "d41d8cd98f00b204e9800998ecf8427e",
    "calculatedHash": "d41d8cd98f00b204e9800998ecf8427e",
    "isValid": true,
    "size": 1024
  },
  "message": "Vérification d'intégrité de fichier réussie",
  "timestamp": "2024-01-20T10:30:00Z"
}

Gestion des Erreurs

Format de Réponse d'Erreur

{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Description de l'erreur",
    "details": "Informations détaillées sur l'erreur"
  },
  "timestamp": "2024-01-20T10:30:00Z"
}

Codes d'Erreur Courants

Code d'ErreurDescriptionCode de Statut HTTP
INVALID_INPUTParamètres d'entrée invalides400
FILE_TOO_LARGEFichier trop volumineux413
UNSUPPORTED_ENCODINGFormat d'encodage non supporté400
INVALID_HASH_FORMATFormat de hash invalide400
RATE_LIMIT_EXCEEDEDLimite de fréquence de requête dépassée429
INTERNAL_ERRORErreur interne du serveur500

Exemples d'Utilisation

Exemple JavaScript

// Calculer MD5 de texte
const calculateTextMD5 = async (text) => {
  const response = await fetch('/api/md5/text', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer YOUR_API_KEY',
    },
    body: JSON.stringify({
      text,
      encoding: 'utf8',
      outputFormat: 'hex',
    }),
  });

  const result = await response.json();
  return result.data.hash;
};

// Calculer MD5 de fichier
const calculateFileMD5 = async (file) => {
  const formData = new FormData();
  formData.append('file', file);

  const response = await fetch('/api/md5/file', {
    method: 'POST',
    headers: {
      Authorization: 'Bearer YOUR_API_KEY',
    },
    body: formData,
  });

  const result = await response.json();
  return result.data.hash;
};

// Vérifier valeur de hash
const verifyHash = async (text, expectedHash) => {
  const response = await fetch('/api/md5/verify', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer YOUR_API_KEY',
    },
    body: JSON.stringify({
      text,
      expectedHash,
      encoding: 'utf8',
    }),
  });

  const result = await response.json();
  return result.data.isValid;
};

Exemple Python

import requests
import json

# Calculer MD5 de texte
def calculate_text_md5(text, api_key):
    url = "https://api.example.com/md5/text"
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}"
    }
    data = {
        "text": text,
        "encoding": "utf8",
        "outputFormat": "hex"
    }

    response = requests.post(url, headers=headers, json=data)
    result = response.json()

    if result["success"]:
        return result["data"]["hash"]
    else:
        raise Exception(result["error"]["message"])

# Calculer MD5 de fichier
def calculate_file_md5(file_path, api_key):
    url = "https://api.example.com/md5/file"
    headers = {
        "Authorization": f"Bearer {api_key}"
    }

    with open(file_path, 'rb') as file:
        files = {'file': file}
        response = requests.post(url, headers=headers, files=files)

    result = response.json()

    if result["success"]:
        return result["data"]["hash"]
    else:
        raise Exception(result["error"]["message"])

# Vérifier valeur de hash
def verify_hash(text, expected_hash, api_key):
    url = "https://api.example.com/md5/verify"
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}"
    }
    data = {
        "text": text,
        "expectedHash": expected_hash,
        "encoding": "utf8"
    }

    response = requests.post(url, headers=headers, json=data)
    result = response.json()

    if result["success"]:
        return result["data"]["isValid"]
    else:
        raise Exception(result["error"]["message"])

Exemple cURL

# Calculer MD5 de texte
curl -X POST "https://api.example.com/md5/text" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "text": "Hello, World!",
    "encoding": "utf8",
    "outputFormat": "hex"
  }'

# Calculer MD5 de fichier
curl -X POST "https://api.example.com/md5/file" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@example.txt"

# Vérifier valeur de hash
curl -X POST "https://api.example.com/md5/verify" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "text": "Hello, World!",
    "expectedHash": "65a8e27d8879283831b664bd8b7f0ad4",
    "encoding": "utf8"
  }'

Limitations

Limites de Requête

  • Longueur de texte: Maximum 10MB
  • Taille de fichier: Maximum 100MB
  • Quantité par lot: Maximum 100 éléments
  • Fréquence de requête: Maximum 1000 requêtes par minute

Formats Supportés

  • Encodage de texte: UTF-8, ASCII, UTF-16, GBK
  • Format de sortie: Hexadécimal (majuscules/minuscules), Base64
  • Types de fichiers: Tous les types de fichiers

Dernière Mise à Jour: 20 Janvier 2024

Was this page helpful?