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.
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
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
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=
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;
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;
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(); }
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!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3