「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Lithe Crypt: PHP アプリケーションの暗号化を簡素化する

Lithe Crypt: PHP アプリケーションの暗号化を簡素化する

2024 年 11 月 10 日に公開
ブラウズ:676

Lithe Crypt: Simplificando a Criptografia em Aplicações PHP

Lithe Crypt は、PHP の単純な暗号化および復号化ユーティリティであり、Lithe フレームワークで動作するように設計されています。安全なデータ処理のために AES-256-CBC アルゴリズムを使用します。

インストール

Lithe Crypt パッケージをインストールするには、Composer を使用できます。 Composer がまだインストールされていない場合は、システムで Composer が利用できることを確認してください。次に、プロジェクト ディレクトリで次のコマンドを実行します:

composer require lithemod/crypt

要件

  • PHP 8 以降
  • PHP インストールで OpenSSL 拡張機能が有効になっています

使用

環境変数のロード

Crypt クラスを使用する前に、環境変数をロードする必要があります。次のコードを使用して .env ファイルをロードします:

use Lithe\Support\Env;

// Carregar variáveis de ambiente
Env::load(__DIR__); // Ajuste o caminho conforme necessário

APP_KEYの設定

APP_KEY 環境変数が設定されていることを確認してください。このキーは、32 バイトの Base64 でエンコードされた文字列である必要があります。 .env ファイルで構成することも、サーバー環境で直接構成することもできます。

有効なbase64キーの例:

YXNkZmFnc2Rhc2RmYWdlcyBhc2RmYWdlcyBhYXNkZmFnc2Q=

データの暗号化

データを暗号化するには、Crypt クラスの encrypt メソッドを使用します。暗号化に固定 IV (初期化ベクトル) を使用するかどうかも指定できます:

use Lithe\Support\Security\Crypt;

$data = "dados sensíveis";

// Criptografar sem IV fixo
$encrypted = Crypt::encrypt($data);
echo "Dados Criptografados: " . $encrypted;

// Criptografar com IV fixo (útil para valores únicos como e-mails)
$encryptedWithSameIV = Crypt::encrypt($data, true);
echo "Dados Criptografados com IV Fixo: " . $encryptedWithSameIV;

データの復号化

以前に暗号化されたデータを復号するには、decrypt メソッドを使用します。正しく復号化できるように、暗号化中に使用したのと同じパラメータを指定する必要があります:

use Lithe\Support\Security\Crypt;

// Descriptografar sem IV fixo
$decrypted = Crypt::decrypt($encrypted);
echo "Dados Descriptografados: " . $decrypted;

// Descriptografar com IV fixo
$decryptedWithSameIV = Crypt::decrypt($encryptedWithSameIV, true, $data);
echo "Dados Descriptografados com IV Fixo: " . $decryptedWithSameIV;

例外処理

APP_KEY が定義されていないか無効な場合、Crypt クラスは CryptException をスローします。予期しないエラーを回避するには、コード内でこの例外を処理することが重要です:

use Lithe\Exceptions\Encryption\CryptException;

try {
    $encrypted = Crypt::encrypt($data);
    // Descriptografar sem IV fixo
    $decrypted = Crypt::decrypt($encrypted);
} catch (CryptException $e) {
    echo "Erro de Criptografia: " . $e->getMessage();
}

最終的な考慮事項

Lithe Crypt は、PHP アプリケーションでデータの暗号化と復号化を処理する実用的で安全な方法を提供します。 AES-256-CBC アルゴリズムの実装と Lithe フレームワークとの統合の容易さにより、データを効果的に保護できます。試してみて、アプリケーションのセキュリティがどのように向上するかを確認してください!

ご質問やご提案がございましたら、お気軽に以下にコメントしてください!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/lithephp/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php-27jj?1 侵害がある場合は、削除するために[email protected]に連絡してください。それ
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3