w

Справочник 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"
}

Описание параметров:

ПараметрТипОбязательныйОписание
textstringДаСодержимое текста для вычисления MD5
encodingstringНетКодировка символов, по умолчанию utf8
outputFormatstringНетФормат вывода, по умолчанию hex

Поддерживаемые форматы кодировки:

  • utf8: Кодировка UTF-8
  • ascii: Кодировка ASCII
  • utf16: Кодировка UTF-16
  • gbk: Кодировка 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

Параметры запроса:

ПараметрТипОбязательныйОписание
filefileДаФайл для вычисления
outputFormatstringНетФормат вывода, по умолчанию 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

Параметры запроса:

ПараметрТипОбязательныйОписание
filesfileДаМассив файлов для вычисления
outputFormatstringНетФормат вывода, по умолчанию 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

Параметры запроса:

ПараметрТипОбязательныйОписание
filefileДаФайл для проверки
expectedHashstringДаОжидаемое значение хеша

Пример ответа:

{
  "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

Was this page helpful?