lorddashme/php-cryptor

A PHP package wrapper for cryptography functions.

2.0.4 2018-12-17 08:09 UTC

This package is auto-updated.

Last update: 2024-03-30 00:17:35 UTC


README

A package wrapper for PHP cryptography functions.

Latest Stable Version Minimum PHP Version Coverage Status

Requirement(s)

  • PHP version from 5.6.* up to latest.

Install

  • It is advice to install the package via Composer. Use the command below to install the package:
composer require lorddashme/php-cryptor

Usage

List of Wrapped Class Extensions

Class Description
OpenSSL Use this extension to encrypt or decrypt a content.
PasswordHashing Use this extension to hash a password content.

OpenSSL Class

  • To encrypt plain text.
<?php

include __DIR__  . '/vendor/autoload.php';

use LordDashMe\Cryptor\OpenSSL\OpenSSL;

// Initialize the OpenSSL class.
$openssl = new OpenSSL();

// Provide the cipher method that will be using.
$openssl->cipherMethod(
  OpenSSL::CIPHER_METHOD_AES256
);

// Provide the key that will be using to encrypt the given content.
$openssl->key('password');

// The plain text that will be process to encrypt.
$openssl->content('this is the plain text');

// Execute the encryption process.
$openssl->encrypt();

// Output the processed content.
$openssl->get(); // echo "YToyOntzOjc6ImNvbnRlbnQiO3M6MzI6..."
  • To decrypt encrypted content.
<?php

include __DIR__  . '/vendor/autoload.php';

use LordDashMe\Cryptor\OpenSSL\OpenSSL;

// Initialize the OpenSSL class.
$openssl = new OpenSSL();

// Provide the cipher method that will be using.
$openssl->cipherMethod(
  OpenSSL::CIPHER_METHOD_AES256
);

// Provide the key that will be using to encrypt the given content.
$openssl->key('password');

// The encrypted content that will be process to decrypt.
$openssl->content('YToyOntzOjc6ImNvbnRlbnQiO3M6MzI6...');

// Execute the decryption process.
$openssl->decrypt();

// Output the processed content.
$openssl->get(); // echo "this is the plain text"

Password Hashing Class

  • To hash the content.
<?php

include __DIR__  . '/vendor/autoload.php';

use LordDashMe\Cryptor\PasswordHashing\PasswordHashing;

// Initialize the Password Hashing class.
$hashing = new PasswordHashing();

// Provide the algorithm to be use for hashing.
$hashing->algorithm(
  PasswordHashing::ALGO_PASSWORD_DEFAULT
);

// Execute the hashing process.
$hashing->hash('Need to be hash');

// Output the processed content.
$hashing->get(); // echo "$2y$10$cwzwDA.wXJitJMPQt9ogDe5rf46dASXh8r5DPIyH1Up3HhhROcFti"
  • To re-hash the content.
<?php

include __DIR__  . '/vendor/autoload.php';

use LordDashMe\Cryptor\PasswordHashing\PasswordHashing;

// Initialize the Password Hashing class.
$hashing = new PasswordHashing();

// Provide the algorithm to be use for hashing.
$hashing->algorithm(
  PasswordHashing::ALGO_PASSWORD_DEFAULT
);

// Execute the re-hashing process.
$hashing->rehash('Need to be hash', '$2y$10$cwzwDA.wXJitJMPQt9ogDe5rf46dASXh8r5DPIyH1Up3HhhROcFti');

// Output the processed content.
$hashing->get(); // echo "$2y$10$cwzwDA.wXJitJMPQt9ogDe5rf..."
  • To get the info of the hashed content.
<?php

include __DIR__  . '/vendor/autoload.php';

use LordDashMe\Cryptor\PasswordHashing\PasswordHashing;

// Initialize the Password Hashing class.
$hashing = new PasswordHashing();

// Execute the get info function.
$hashing->getInfo('$2y$10$cwzwDA.wXJitJMPQt9ogDe5rf46dASXh8r5DPIyH1Up3HhhROcFti'); // return array(...)
  • To verify the hashed content.
<?php

include __DIR__  . '/vendor/autoload.php';

use LordDashMe\Cryptor\PasswordHashing\PasswordHashing;

// Initialize the Password Hashing class.
$hashing = new PasswordHashing();

// Execute the verify function.
$hashing->verify('Need to be hash', '$2y$10$cwzwDA.wXJitJMPQt9ogDe5rf46dASXh8r5DPIyH1Up3HhhROcFti'); // return boolean

License

This package is open-sourced software licensed under the MIT license.