Documentation API
Commencer
Notre API RESTful complète offre un accès programmatique transparent à diverses opérations de chiffrement classique, notamment le chiffrement César, la transformation ROT13 et le chiffrement polyalphabetique Vigenère. Conçue spécifiquement à des fins éducatives, cette API est entièrement gratuite et parfaite pour les étudiants, les éducateurs, les développeurs et les passionnés de cryptographie. Que vous développiez des applications éducatives, meniez des recherches ou exploriez simplement le monde fascinant de la cryptographie historique, notre API offre une fonctionnalité robuste avec des capacités intelligentes de résolution automatique et un support pour plusieurs langues et alphabets personnalisés.
URL de base: https://caesar-cipher.com/api/v1
Type de contenu: application/json
Limite de requêtes: 60 requêtes/minute
Avantages Clés
Notre API se distingue par son orientation éducative, sa documentation complète et sa conception conviviale pour les développeurs. Tous les endpoints retournent des réponses détaillées avec un contexte éducatif, la rendant parfaite pour les environnements d'apprentissage. L'analyse de fréquence intégrée et les capacités automatiques de cassage de chiffrement fournissent des perspectives précieuses sur les techniques de cryptanalyse.
🎓 Educational Focus
Designed specifically for learning environments with comprehensive educational context and examples.
🔍 Auto-Solving
Intelligent frequency analysis and automatic cipher-breaking capabilities for research and learning.
🌍 Multi-Language
Support for multiple alphabets including Polish, German, Spanish, French, and custom alphabets.
📚 Free & Open
Completely free for educational and research purposes with comprehensive documentation.
Caesar Cipher
Encrypt Text
POST /api/v1/caesar/encrypt
Corps de la requête:
{
"text": "Hello World",
"shift": 3,
"alphabet": "basic", // optional: basic, polish, german, spanish, french, custom
"custom_alphabet": "ABCDEFGHIJKLMNOPQRSTUVWXYZ", // required if alphabet is "custom"
"preserve_case": true, // optional, default: true
"preserve_non_alpha": true // optional, default: true
}
Réponse:
{
"success": true,
"result": "Khoor Zruog",
"method": "encrypt",
"shift": 3,
"alphabet": "basic",
"text_length": 11
}
Déchiffrer le texte
POST /api/v1/caesar/decrypt
Corps de la requête:
{
"text": "Khoor Zruog",
"shift": 3,
"alphabet": "basic"
}
Réponse:
{
"success": true,
"result": "Hello World",
"method": "decrypt",
"shift": 3,
"alphabet": "basic",
"text_length": 11
}
Résolution automatique du chiffrement César
POST /api/v1/caesar/solve
Corps de la requête:
{
"text": "Khoor Zruog",
"alphabet": "basic", // optional
"language": "en" // optional: en, pl, de, es, fr
}
Réponse:
{
"success": true,
"best_solution": {
"shift": 3,
"text": "Hello World",
"confidence": 95
},
"all_solutions": [
{"shift": 3, "text": "Hello World", "score": 95.2},
{"shift": 7, "text": "Dahhk Sknhz", "score": 42.1},
...
],
"alphabet": "basic",
"language": "en"
}
Traitement en masse
POST /api/v1/caesar/bulk
Corps de la requête:
{
"items": [
{"text": "Hello", "shift": 3},
{"text": "World", "shift": 5}
],
"method": "encrypt", // encrypt, decrypt, or solve
"alphabet": "basic"
}
Réponse:
{
"success": true,
"method": "encrypt",
"alphabet": "basic",
"count": 2,
"results": [
{"index": 0, "original": "Hello", "result": "Khoor", "shift": 3},
{"index": 1, "original": "World", "result": "Btwqi", "shift": 5}
]
}
ROT13
Transformer le texte
POST /api/v1/rot13/transform
Corps de la requête:
{
"text": "Hello World",
"preserve_case": true,
"preserve_non_alpha": true
}
Réponse:
{
"success": true,
"result": "Uryyb Jbeyq",
"method": "rot13",
"text_length": 11
}
ROT13 en masse
POST /api/v1/rot13/bulk
Corps de la requête:
{
"items": ["Hello", "World", "ROT13"],
"preserve_case": true
}
Réponse:
{
"success": true,
"method": "rot13",
"count": 3,
"results": [
{"index": 0, "original": "Hello", "result": "Uryyb"},
{"index": 1, "original": "World", "result": "Jbeyq"},
{"index": 2, "original": "ROT13", "result": "EBG13"}
]
}
Chiffrement Vigenère
Chiffrer avec Vigenère
POST /api/v1/vigenere/encrypt
Corps de la requête:
{
"text": "Hello World",
"key": "KEY",
"preserve_case": true,
"preserve_non_alpha": true
}
Réponse:
{
"success": true,
"result": "Rijvs Uyvjn",
"method": "encrypt",
"key_length": 3,
"text_length": 11
}
Analyser et casser Vigenère
POST /api/v1/vigenere/analyze
Corps de la requête:
{
"text": "RIJVS UYVJN RIJVS UYVJN...", // Long encrypted text
"max_key_length": 10 // optional, default: 10
}
Réponse:
{
"success": true,
"analysis": {
"probable_key_lengths": [3, 6, 9],
"best_key_length": 3,
"ioc_scores": {"1": 0.043, "2": 0.045, "3": 0.065},
"probable_key": "KEY",
"decrypted_preview": "HELLO WORLD HELLO WORLD..."
},
"text_length": 100
}
Exemples de code
JavaScript / Node.js
// Caesar Cipher Encryption
const response = await fetch('https://caesar-cipher.com/api/v1/caesar/encrypt', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: 'Hello World',
shift: 3,
alphabet: 'basic'
})
});
const data = await response.json();
console.log(data.result); // "Khoor Zruog"
Python
import requests
# ROT13 Transform
response = requests.post('https://caesar-cipher.com/api/v1/rot13/transform',
json={
'text': 'Hello World',
'preserve_case': True
})
data = response.json()
print(data['result']) # "Uryyb Jbeyq"
cURL
# Vigenère Cipher Encryption
curl -X POST https://caesar-cipher.com/api/v1/vigenere/encrypt \
-H "Content-Type: application/json" \
-d '{
"text": "Hello World",
"key": "SECRET",
"preserve_case": true
}'
PHP
// Caesar Cipher Solver
$data = [
'text' => 'Khoor Zruog',
'alphabet' => 'basic',
'language' => 'en'
];
$options = [
'http' => [
'header' => "Content-type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents('https://caesar-cipher.com/api/v1/caesar/solve', false, $context);
$response = json_decode($result, true);
echo $response['best_solution']['text']; // "Hello World"
Gestion des erreurs
L'API utilise des codes d'état HTTP standard et renvoie des messages d'erreur JSON.
Codes d'état courants:
- 200 OK - Request successful
- 400 Bad Request - Invalid parameters
- 422 Unprocessable Entity - Validation errors
- 429 Too Many Requests - Rate limit exceeded
- 500 Internal Server Error - Server error
Format de réponse d'erreur:
{
"success": false,
"error": "Validation error",
"errors": {
"text": ["The text field is required."],
"shift": ["The shift must be between -25 and 25."]
}
}
Limitation des requêtes
L'API est limitée à 60 requêtes par minute par adresse IP. Les informations de limite sont incluses dans les en-têtes de réponse:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
# When rate limit is exceeded (HTTP 429):
{
"error": "Too Many Requests",
"message": "Rate limit exceeded. You can make up to 60 requests per minute.",
"retry_after": 60,
"documentation": "https://caesar-cipher.com/api-docs"
}
Pour des limites plus élevées ou une utilisation commerciale, veuillez utiliser le formulaire de contact sur notre site Web.
Prêt à commencer ?
Commencez à explorer notre API dès aujourd'hui ! Testez les endpoints directement, intégrez-les dans vos applications ou utilisez nos outils web interactifs pour mieux comprendre la cryptographie classique.