Справочник API
Обзор
Калькулятор хеш-функций MD5 предоставляет полный RESTful API интерфейс, поддерживающий вычисление текста, обработку файлов и пакетные операции.
Основная информация
- Базовый URL:
https://api.example.com/md5
- Аутентификация: API ключ
- Формат данных: JSON
- Кодировка символов: UTF-8
Формат ответа
Все ответы API следуют единому формату:
{
"success": true,
"data": {
// Конкретные данные
},
"message": "Операция выполнена успешно",
"timestamp": "2024-01-20T10:30:00Z"
}
Вычисление MD5 текста
Вычислить MD5 текста
Конечная точка: POST /api/md5/text
Параметры запроса:
{
"text": "Содержимое текста для вычисления",
"encoding": "utf8",
"outputFormat": "hex"
}
Описание параметров:
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
text | string | Да | Содержимое текста для вычисления MD5 |
encoding | string | Нет | Кодировка символов, по умолчанию utf8 |
outputFormat | string | Нет | Формат вывода, по умолчанию hex |
Поддерживаемые форматы кодировки:
utf8
: Кодировка UTF-8ascii
: Кодировка ASCIIutf16
: Кодировка UTF-16gbk
: Кодировка GBK
Поддерживаемые форматы вывода:
hex
: Шестнадцатеричный в нижнем регистреhex-upper
: Шестнадцатеричный в верхнем регистреbase64
: Кодировка Base64
Пример ответа:
{
"success": true,
"data": {
"text": "Hello, World!",
"hash": "65a8e27d8879283831b664bd8b7f0ad4",
"encoding": "utf8",
"outputFormat": "hex",
"length": 32
},
"message": "Вычисление выполнено успешно",
"timestamp": "2024-01-20T10:30:00Z"
}
Пакетное вычисление текста
Конечная точка: POST /api/md5/text/batch
Параметры запроса:
{
"texts": ["Текст1", "Текст2", "Текст3"],
"encoding": "utf8",
"outputFormat": "hex"
}
Пример ответа:
{
"success": true,
"data": {
"results": [
{
"text": "Текст1",
"hash": "hash1",
"index": 0
},
{
"text": "Текст2",
"hash": "hash2",
"index": 1
},
{
"text": "Текст3",
"hash": "hash3",
"index": 2
}
],
"total": 3,
"encoding": "utf8",
"outputFormat": "hex"
},
"message": "Пакетное вычисление выполнено успешно",
"timestamp": "2024-01-20T10:30:00Z"
}
Вычисление MD5 файла
Вычисление загруженного файла
Конечная точка: POST /api/md5/file
Формат запроса: multipart/form-data
Параметры запроса:
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
file | file | Да | Файл для вычисления |
outputFormat | string | Нет | Формат вывода, по умолчанию hex |
Пример ответа:
{
"success": true,
"data": {
"filename": "example.txt",
"size": 1024,
"hash": "d41d8cd98f00b204e9800998ecf8427e",
"outputFormat": "hex",
"processingTime": 150
},
"message": "Вычисление файла выполнено успешно",
"timestamp": "2024-01-20T10:30:00Z"
}
Пакетное вычисление файлов
Конечная точка: POST /api/md5/file/batch
Формат запроса: multipart/form-data
Параметры запроса:
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
files | file | Да | Массив файлов для вычисления |
outputFormat | string | Нет | Формат вывода, по умолчанию hex |
Пример ответа:
{
"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": "Пакетное вычисление файлов выполнено успешно",
"timestamp": "2024-01-20T10:30:00Z"
}
Проверка значения хеша
Проверить значение хеша
Конечная точка: POST /api/md5/verify
Параметры запроса:
{
"text": "Текст для проверки",
"expectedHash": "Ожидаемое значение хеша",
"encoding": "utf8"
}
Пример ответа:
{
"success": true,
"data": {
"text": "Hello, World!",
"expectedHash": "65a8e27d8879283831b664bd8b7f0ad4",
"calculatedHash": "65a8e27d8879283831b664bd8b7f0ad4",
"isValid": true,
"encoding": "utf8"
},
"message": "Проверка выполнена успешно",
"timestamp": "2024-01-20T10:30:00Z"
}
Проверка целостности файла
Конечная точка: POST /api/md5/verify/file
Формат запроса: multipart/form-data
Параметры запроса:
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
file | file | Да | Файл для проверки |
expectedHash | string | Да | Ожидаемое значение хеша |
Пример ответа:
{
"success": true,
"data": {
"filename": "example.txt",
"expectedHash": "d41d8cd98f00b204e9800998ecf8427e",
"calculatedHash": "d41d8cd98f00b204e9800998ecf8427e",
"isValid": true,
"size": 1024
},
"message": "Проверка целостности файла выполнена успешно",
"timestamp": "2024-01-20T10:30:00Z"
}
Обработка ошибок
Формат ответа с ошибкой
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Описание ошибки",
"details": "Подробная информация об ошибке"
},
"timestamp": "2024-01-20T10:30:00Z"
}
Распространенные коды ошибок
Код ошибки | Описание | HTTP статус код |
---|---|---|
INVALID_INPUT | Неверные параметры ввода | 400 |
FILE_TOO_LARGE | Файл слишком большой | 413 |
UNSUPPORTED_ENCODING | Неподдерживаемый формат кодировки | 400 |
INVALID_HASH_FORMAT | Неверный формат хеша | 400 |
RATE_LIMIT_EXCEEDED | Превышен лимит частоты запросов | 429 |
INTERNAL_ERROR | Внутренняя ошибка сервера | 500 |
Примеры использования
Пример JavaScript
// Вычислить MD5 текста
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;
};
// Вычислить MD5 файла
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;
};
// Проверить значение хеша
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;
};
Пример Python
import requests
import json
# Вычислить MD5 текста
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"])
# Вычислить MD5 файла
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"])
# Проверить значение хеша
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"])
Пример cURL
# Вычислить MD5 текста
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"
}'
# Вычислить MD5 файла
curl -X POST "https://api.example.com/md5/file" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@example.txt"
# Проверить значение хеша
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"
}'
Ограничения
Ограничения запросов
- Длина текста: Максимум 10MB
- Размер файла: Максимум 100MB
- Количество в пакете: Максимум 100 элементов
- Частота запросов: Максимум 1000 запросов в минуту
Поддерживаемые форматы
- Кодировка текста: UTF-8, ASCII, UTF-16, GBK
- Формат вывода: Шестнадцатеричный (верхний/нижний регистр), Base64
- Типы файлов: Все типы файлов
Последнее обновление: 20 января 2024