1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ch4o5-SM3-PHP

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
ReadMe.md

SM3-PHP

Реализация национального стандарта SM3 на языке PHP.

Последняя стабильная версия ![Последняя нестабильная версия](https://poser.pugx.org/ch4o5/sm3-php/v/unstable [![Лицензия](https://poser.pugx.org/ch4o5/sm3-php/license](//packagist.org/packages/ch4o5/sm3-php] Статус FOSSA

Состояние сборки ![Общее количество загрузок](https://poser.pugx.org/ch4o5/sm3-php/downloads [![Ежемесячное количество загрузок](https://poser.pugx.org/ch4o5/sm3-php/d/monthly](//packagist.org/packages/ch4o5/sm3-php]]

Введение

В процессе разработки этой библиотеки были выявлены три основные проблемы PHP:

  1. При преобразовании других систем счисления в двоичную систему из-за особенностей представления чисел с плавающей точкой могут возникать потери данных, что приводит к ошибкам в вычислениях. В таких случаях необходимо самостоятельно переписывать код.
  2. Битовые операции в PHP не позволяют напрямую выполнять побитовые операции с двоичными переменными, поэтому требуется самостоятельная реализация.
  3. Из-за интерпретируемого и слабо типизированного характера PHP, его скорость выполнения уступает C, что делает его не самым оптимальным выбором.

Однако, несмотря на эти недостатки, PHP продолжает развиваться и широко использоваться. Многие задачи не требуют высокой скорости выполнения, а больше сосредоточены на реализации функциональности.

Автор библиотеки решил эти проблемы, реализовав необходимые функции в своём продукте. Это позволяет пользователям сосредоточиться на бизнес-логике, не заботясь о низкоуровневых деталях.

Также автор призывает всех заинтересованных следить за проектом и поддерживать его.

Особенности

  1. Чистый PHP-код без дополнительных зависимостей от расширений.
  2. Поддержка объектно-ориентированного программирования (ООП) и Composer для более элегантного и простого использования.
  3. Использование пространств имён для предотвращения конфликтов имён переменных и методов.
  4. Внедрение стандарта Composer PSR-4 для автоматической загрузки классов.
  5. Соответствие стандарту кодирования PSR-12.
  6. Полные комментарии к коду, которые можно использовать вместе с документом «SM3: Алгоритм смешивания паролей» для дальнейшего изучения и исследования этого алгоритма.

Требования

  • 5.3 <= PHP < 7.2

Версия 7.2 и выше теоретически поддерживается, но из-за проблем совместимости с PHPUnit нет поддержки модульного тестирования.

Начиная с версии 1.x, поддержка будет предоставляться только для старых версий PHP. Версии 2.x и новее будут ориентированы на более новые версии PHP.

Установка

Библиотека рекомендуется к установке через Composer, хотя также предоставляется возможность прямой загрузки сжатого архива. Однако использование Composer считается более современным и удобным способом управления проектами.

1. Распаковка исходного кода (не рекомендуется)

  1. Загрузите сжатый архив в формате .zip или .tar.gz. Архив уже оптимизирован для использования с Composer.

    Скачать архив можно по ссылке: https://github.com/DongyunLee/SM3-PHP/releases/latest.

  2. Распакуйте архив в любое место вашего проекта.

    • Для Windows используйте WinRAR, 7Zip или Bandizip.
    • В системах класса Unix используйте команды:
      tar zxvf SM3-PHP.tar.gz
      # или
      unzip SM3-PHP.zip
    # Команда для создания архива
    composer arch
    
    # Или composer run-script arch

2. Установка через Composer (рекомендуется)

  1. Установите Composer. Подробные инструкции можно найти здесь: «Как установить Composer».

  2. Если вы используете китайские зеркала, рекомендуется настроить их для ускорения загрузки. Более подробную информацию можно найти в статье «Композитору — уважение, китайским зеркалам — будущее!»

  3. Выполните команду composer require ch4o5/sm3-php.

  4. Запустите composer install.

  5. Запустите composer update.

    Параметры composer update предназначены для оптимизации в производственной среде и не требуются для анализа, отладки и чтения кода.

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

    1. --prefer-dist: Предпочитать установленные пакеты, а не исходные коды.
    2. --no-dev: Не устанавливать пакеты из раздела require-dev, что уменьшает размер пакета.
    3. --no-plugins: Не устанавливать плагины.
    4. --with-dependencies: Рекурсивно обновлять зависимости пакетов.
    5. --optimize-autoloader / -o: Преобразовать автозагрузку PSR-0/4 в карту классов для более быстрой загрузки.
    6. --classmap-authoritative: Рекомендуется использовать после включения -o, ускоряет загрузку всех классов.

Быстрый старт

Пример вызова функции sm3() находится в файле demo.php в корне проекта. Также можно ознакомиться с другими примерами в каталоге examples.

Структура каталогов

  • examples/: Примеры проектов.
  • src/: Исходный код, пространство имён SM3.
  • vendor/: Автозагрузка Composer.
  • CHANGELOG.md: Журнал изменений версий.
  • composer.json: Файл конфигурации Composer.
  • composer.lock: Блокирующий файл Composer для обеспечения стабильности версий.
  • demo.php: Демонстрационный код.
  • LICENSE: Лицензия с открытым исходным кодом.
  • README.md: Этот файл, описание проекта.

Лицензия с открытым исходным кодом

Проект соответствует лицензии MPL-2.0:

  • Модифицированный исходный код не должен быть закрыт;
  • Добавление нового кода не требует использования той же лицензии;
  • ... Необходимо предоставить документацию с описанием изменений в исходном коде.

Это свободная лицензия, я не возлагаю на вас бремя её использования.

Однако при цитировании, пожалуйста, указывайте источник, а также не удаляйте авторские права из начала файла.

Поступай с другими так, как хочешь, чтобы поступали с тобой.

Я сохраняю за собой право требовать соблюдения соответствующих обязательств.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Расширить Свернуть
MPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/ch4o5-SM3-PHP.git
git@gitlife.ru:oschina-mirror/ch4o5-SM3-PHP.git
oschina-mirror
ch4o5-SM3-PHP
ch4o5-SM3-PHP
master