GithubHelp home page GithubHelp logo

sagaroffsec / php-crypto Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bukka/php-crypto

0.0 1.0 0.0 598 KB

Objective PHP binding of OpenSSL Crypto library

License: Other

M4 0.46% JavaScript 0.27% C 64.67% C++ 2.31% PHP 32.29%

php-crypto's Introduction

PHP OpenSSL Crypto wrapper

The php-crypto is an objective wrapper for OpenSSL Crypto library.

Installation

Linux

Before starting with installation of this extensions, the OpenSSL library has to be installed. It is defaultly installed on the most Linux distributions. The minimal version of OpenSSL that is supported is 0.9.8 but it is recommended to have installed version 1.0.1+ to use all features.

Of course PHP has to be installed too. The minimal version that is supported is 5.3 as the extension uses namespaces. Currently PHP also needs to be compiled with OpenSSL extension (--with-openssl). This dependency will be removed in the future.

Fedora

The RPM package for PHP Crypto is available in Remi's repository: http://rpms.famillecollet.com/

It is available for Fedora, RHEL and clones (CentOS, SC and others).

After downloading remi-release RPM, the package can be installed by executing following command:

$ sudo yum --enablerepo=remi install php-pecl-crypto

PECL

This extension is available on PECL. The package is not currently stable. If the config preferre_state is stable, then the version needs to be specified.

$ sudo pecl install crypto-0.x.y

where x is an installed minor version number and y bug fixing version number.

Manual Installation

It's important to have a git installed as it's necessary for recursive fetch of phpc.

First clone recursively the repository

git clone --recursive https://github.com/bukka/php-crypto.git

Then go to the created directory and compile the extension. The PHP development package has to be installed (command phpize must be available).

cd php-crypto
phpize
./configure
make
sudo make install

Finally the following line needs to be added to php.ini

extension=crypto.so

Be aware that master branch contains a slightly different error handling. You can see examples for more details.

Windows

Precompiled binary dll libraries for php-crypto are available on the PECL crypto page.

The php-crypto dll is also available in Jan-E Windows builds on Apache Lounge.

API

The extension is still in development so the API is not stabilized yet.

All classes are defined in namespace Crypto.

Each base class has an exception class that has the same name and Exception suffix (e.g. Hash class has HashException. The exception classes are subclasses of the PHP Exception class. They define exception code as class constants. Each code also has a different message.

The documentation is devided to sections where can be found documentation of all class methods, constants and other related details:

PHP definition for the classes

The PHP based DocBlock documenation for all classes is generated from the extension code. It can be found in docs/Crypto.php. It can be also used for an IDE autocomplete.

Examples

The examples can be found in the example directory.

TODO list

There is lots of features on the TODO list.

History

The release history can be found HISTORY.md.

php-crypto's People

Contributors

bukka avatar remicollet avatar dktapps avatar eriklundin avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.