Download the PHP package dwgebler/encryption without Composer

On this page you can find all versions of the php package dwgebler/encryption. 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 encryption

php-encryption

A small PHP wrapper around libsodium, providing focused classes for password hashing, symmetric encryption, asymmetric encryption, digital signing, and message authentication.

Upgrading from 1.x? See UPGRADE-2.0.md — 2.0 is a clean break that fixes several security issues, including a critical issue with 1.x hashPassword(). Read the security advisory at the top of UPGRADE-2.0.md if you stored 1.x password hashes.

Requirements

Installation

Quick start

The Encryption object is a facade — call accessors to reach each primitive:

Keys at the API boundary are raw bytes. Use the Encoding helper to convert between raw bytes and hex / base64 when persisting or transmitting keys.

Password hashing (for storing user passwords)

Uses Argon2id with OPSLIMIT_MODERATE / MEMLIMIT_MODERATE by default. Configure stronger or weaker parameters via the constructor:

Symmetric encryption

With a password (Argon2id-derived key)

With a 32-byte key

Wrong-length keys throw InvalidKeyException. There is no silent stretching.

Asymmetric encryption

Authenticated (Alice → Bob, both identified)

Anonymous (sender hidden)

Digital signatures (Ed25519)

Attached signature

Detached signature

Message authentication (shared secret)

Exceptions

The library uses two distinct exception trees:

Gebler\Encryption\Exception\EncryptionException (extends RuntimeException) — runtime crypto failures. Catch this base type to handle any cipher / signature failure at once.

Subclass Thrown when
DecryptionFailedException Wrong key, wrong password, tampered ciphertext, signature verification failure
SodiumOperationException Underlying sodium primitive raised SodiumException

\InvalidArgumentException — input-shape errors (programmer mistakes detectable at the call site, separate from crypto failures):

Exception Thrown when
Gebler\Encryption\Exception\InvalidKeyException Key or signature has wrong length
\InvalidArgumentException (directly) Plaintext / message is empty

To handle everything, catch both EncryptionException and \InvalidArgumentException.

License

MIT.


All versions of encryption with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-sodium Version *
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 dwgebler/encryption contains the following files

Loading the files please wait ...