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

O Lithe Crypt é uma utilidade simples para criptografia e descriptografia em PHP, projetada para funcionar com o framework Lithe. Ele utiliza o algoritmo AES-256-CBC para um manuseio seguro de dados.

Instalação

Para instalar o pacote Lithe …


This content originally appeared on DEV Community and was authored by Lithe

O Lithe Crypt é uma utilidade simples para criptografia e descriptografia em PHP, projetada para funcionar com o framework Lithe. Ele utiliza o algoritmo AES-256-CBC para um manuseio seguro de dados.

Instalação

Para instalar o pacote Lithe Crypt, você pode usar o Composer. Se ainda não o tem instalado, certifique-se de que o Composer está disponível no seu sistema. Em seguida, execute o seguinte comando no diretório do seu projeto:

composer require lithemod/crypt

Requisitos

  • PHP 8 ou superior
  • Extensão OpenSSL habilitada na sua instalação do PHP

Uso

Carregando Variáveis de Ambiente

Antes de usar a classe Crypt, você precisa carregar suas variáveis de ambiente. Use o seguinte código para carregar seu arquivo .env:

use Lithe\Support\Env;

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

Definindo a APP_KEY

Certifique-se de que a variável de ambiente APP_KEY está definida. Essa chave deve ser uma string codificada em base64 de 32 bytes. Você pode configurá-la no seu arquivo .env ou diretamente no ambiente do servidor.

Exemplo de uma chave base64 válida:

YXNkZmFnc2Rhc2RmYWdlcyBhc2RmYWdlcyBhYXNkZmFnc2Q=

Criptografando Dados

Para criptografar dados, utilize o método encrypt da classe Crypt. Você também pode especificar se deseja usar um IV fixo (vetor de inicialização) para a criptografia:

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;

Descriptografando Dados

Para descriptografar os dados criptografados anteriormente, utilize o método decrypt. Você deve especificar os mesmos parâmetros usados durante a criptografia para garantir uma descriptografia correta:

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;

Tratamento de Exceções

Se a APP_KEY não estiver definida ou for inválida, a classe Crypt lançará uma CryptException. É essencial tratar essa exceção em seu código para evitar erros inesperados:

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();
}

Considerações Finais

O Lithe Crypt oferece uma forma prática e segura de lidar com a criptografia e descriptografia de dados em suas aplicações PHP. Com a implementação do algoritmo AES-256-CBC e a facilidade de integração com o framework Lithe, você pode proteger seus dados de maneira eficaz. Experimente e veja como ele pode aprimorar a segurança da sua aplicação!

Se você tiver alguma dúvida ou sugestão, sinta-se à vontade para comentar abaixo!


This content originally appeared on DEV Community and was authored by Lithe


Print Share Comment Cite Upload Translate Updates
APA

Lithe | Sciencx (2024-11-04T23:38:02+00:00) Lithe Crypt: Simplificando a Criptografia em Aplicações PHP. Retrieved from https://www.scien.cx/2024/11/04/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php/

MLA
" » Lithe Crypt: Simplificando a Criptografia em Aplicações PHP." Lithe | Sciencx - Monday November 4, 2024, https://www.scien.cx/2024/11/04/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php/
HARVARD
Lithe | Sciencx Monday November 4, 2024 » Lithe Crypt: Simplificando a Criptografia em Aplicações PHP., viewed ,<https://www.scien.cx/2024/11/04/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php/>
VANCOUVER
Lithe | Sciencx - » Lithe Crypt: Simplificando a Criptografia em Aplicações PHP. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/11/04/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php/
CHICAGO
" » Lithe Crypt: Simplificando a Criptografia em Aplicações PHP." Lithe | Sciencx - Accessed . https://www.scien.cx/2024/11/04/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php/
IEEE
" » Lithe Crypt: Simplificando a Criptografia em Aplicações PHP." Lithe | Sciencx [Online]. Available: https://www.scien.cx/2024/11/04/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php/. [Accessed: ]
rf:citation
» Lithe Crypt: Simplificando a Criptografia em Aplicações PHP | Lithe | Sciencx | https://www.scien.cx/2024/11/04/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.