Download the PHP package ch4o5/sm3-php without Composer

On this page you can find all versions of the php package ch4o5/sm3-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sm3-php

SM3-PHP

国密标准SM3的原生PHP实现。

FOSSA Status

Run Tests

前言

在开发本库的过程中,发现了 PHP 的三个痛点,敬请各位务必要有所了解:

  1. PHP本身对其他进制转换为二进制,由于浮点数的长度特性,会造成数据丢失,这样就会造成运算结果的错误,需要自己重写;
  2. PHP的位运算符没法直接进行二进制变量的与或非运算,必须得自己重写;
  3. 碍于PHP本身的解释型、弱类型语言特点,运行速度没有C快,所以并不是最优选择。

但我们常说,看问题要有两面性。

尽管 PHP 本身有诸多问题,唱衰之声不断,但仍然发展到今天的生态规模, 很多时候,我们的实际性能需求并没有严格到要求我们去考量语言之间的速度差异,而重在功能的实现。

况且,上面提到的诸多痛点都已经被我封装在了这个库里, 性能的优化交给我来做,大家只要负责调用,来实现业务逻辑即可。

也希望大家来都来了,点个 WatchStar ,持续关注一下。在此拜谢!

特点

  1. 纯原生 PHP 代码,不额外依赖扩展项;
  2. OOP + Composer ,更优雅,安装更简单;
  3. 使用命名空间,防止变量名、方法名污染;
  4. 引入了 ComposerPSR-4 规范,进行类的自动加载;
  5. 使用 PSR-12 代码规范
  6. 代码注释完整, 可配合《 SM3密码杂凑算法 》食用, 方便进一步学习和研究本算法。

要求

7.2 之后版本理论通过,但因为 phpunit 的版本兼容性问题,没有单元测试支撑

1.x 版本之后只会作为低版本兼容,2.x 及之后版本会对 PHP 更高版本做适配,使用更多新特性

安装

本库优先支持 Composer 安装,但为了尊重使用习惯,也提供了直接下载压缩包的方式。 但不得不说,Composer 式的以组件、包为单位的项目管理方式更加现代化、方便和优雅。

一、源码解压(不推荐)

  1. 下载压缩包

    提供了 .zip.tar.gz 两种格式的压缩包, 压缩包已经过 Composer 包的优化

    下载地址:https://github.com/DongyunLee/SM3-PHP/releases/latest

  2. 解压到项目中的任意位置

    • Windows:

      使用 winrar/7zip/Bandizip 等工具解压

    • 类Unix:

二、composer 安装(强烈推荐)

  1. 安装 composer

    详见 《如何安装 Composer

  2. 安装慢可更换中文镜像

    由于大量先前的镜像失效,所以目前(2019-11-25)推荐使用阿里云镜像

    其实配置中已经把镜像配置成了阿里云的镜像。 但有效范围毕竟只有这一个包。

    开发环境中还是建议进行下全局的配置。

    更换阿里云镜像方式详见拙笔 《向先行者致敬,迎接 Composer 的未来!

  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 autoload 到 classmap 可以获得更快的加载支持
    6. --classmap-authoritative: 推荐 使用后默认开启 -o,并对所有类加速

快速开始

在根目录中的 demo.php 中,进行了简单地调用示范:

你也可以在 examples/ 目录下找到更多的使用示例。

目录结构

开源许可

FOSSA Status

本项目遵从 MPL-2.0 许可:


这是一个松散的许可证,我没有给各位添加使用负担。

但请务必注意,引用时请注明来源,请勿删除文件开头的版权注释。
己所不欲,勿施于人。

我保留追究相关责任的权利。

All versions of sm3-php with dependencies

PHP Build Version
Package Version
Requires php Version >=5.3.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ch4o5/sm3-php contains the following files

Loading the files please wait ....