browomir/open-encryption

基于OpenSSL的简单用户密码加密类

dev-master 2015-11-13 19:20 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:31:13 UTC


README

基于OpenSSL的简单密码加密类。

先决条件

  • PHP 5.4或更高版本

安装

安装此类的首选方式是通过composer

运行以下命令之一

php composer.phar require browomir/open-encryption "dev-master"

// composer.json
{
    "require": {
        "browomir/open-encryption": "dev-master"
    }
}

将以下内容添加到您的composer.json文件的require部分。

使用方法

以下简单示例展示了如何使用此类

require_once 'vendor/autoload.php';

use OpenEncryption\Encryption;

$username = 'test@example.com';
$password = 'test123';
$salt = 'somesalt';

$encryption = new Encryption(); // you can pass secret key as constructor parameter
                                // e.g. $encryption = new Encryption('mySecret');
$encrypted = $encryption->encrypt($password, $salt, $username);
$decrypted = $encryption->decrypt($encrypted, $salt, $username);

echo 'Encrypted: ' . $encrypted;
echo '<br>';
echo 'Decrypted: ' . $decrypted;

额外

  • 如果您不想使用默认的加密方法(AES-256-CBC),您可以设置自己的
$cipher = new Cipher('AES-128-ECB');
$encryption->setCipher($cipher);
  • 您可以通过以下方式检查选择的加密方法是否受支持以及是否强大
if ($cipher->isSupported() && $cipher->isCryptoStrong()) {
    echo 'Your cipher is good!';
} else {
    echo 'You should chose other cipher!';
}
  • 您可以通过以下方式获取所有受支持的加密方法的列表
$cipher->getSupportedCiphers();

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Latest Unstable Version Dependency Status Total Downloads License