Download the PHP package sierratecnologia/crypto without Composer

On this page you can find all versions of the php package sierratecnologia/crypto. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package crypto

Crypto

Crypto - Powerful and elegant cryptography tools for Laravel and Lumen

Build Status Maintainability Packagist license


📚 Índice


🎯 Introdução

O que é o Crypto?

O Crypto é um pacote Laravel/Lumen desenvolvido pela SierraTecnologia que fornece uma camada robusta e elegante de criptografia para aplicações PHP. Ele oferece ferramentas poderosas para:

Objetivo e Motivação

A segurança de dados é uma preocupação crítica em aplicações modernas. O Crypto nasceu da necessidade de:

  1. Padronizar a criptografia em todos os projetos do ecossistema SierraTecnologia
  2. Simplificar a implementação de criptografia em campos de banco de dados
  3. Garantir compatibilidade entre diferentes serviços e aplicações
  4. Fornecer uma API intuitiva que reduz a complexidade da criptografia OpenSSL
  5. Manter a segurança sem sacrificar a performance ou usabilidade

Benefícios para Projetos Laravel

Transparência: Criptografa e descriptografa dados automaticamente nos modelos Eloquent ✅ Flexibilidade: Suporta criptografia compartilhada entre aplicações ✅ Facilidade: Helpers globais e Facades para acesso rápido ✅ Integração: Blade Directives para uso direto em views ✅ Segurança: Implementação robusta com OpenSSL e AES-256-CBC ✅ Performance: Otimizado para aplicações de alta demanda

Como se Encaixa no Ecossistema SierraTecnologia

O Crypto é uma peça fundamental na arquitetura de microsserviços da SierraTecnologia / Rica Soluções. Ele é utilizado por diversos pacotes internos para:


🚀 Instalação

Requisitos Mínimos

Instalação via Composer

1. Criar um novo projeto Laravel (se necessário)

2. Instalar o pacote Crypto

3. Publicar arquivos de configuração (opcional)

O pacote utiliza auto-discovery do Laravel, portanto não é necessário registrar manualmente o Service Provider. Porém, se estiver usando Lumen, você precisa:

4. Configurar variáveis de ambiente

Certifique-se de que sua aplicação possui uma chave (APP_KEY) configurada no arquivo .env:

O Crypto utiliza a APP_KEY do Laravel como base para criptografia. IMPORTANTE: Não altere ou perca esta chave, pois os dados criptografados não poderão ser recuperados.


🏗️ Arquitetura e Estrutura Interna

Estrutura de Diretórios

Namespaces Principais

Padrões Arquiteturais

1. Service Provider Pattern

O CryptoProvider registra serviços, aliases e comandos:

2. Facade Pattern

A classe Crypto funciona como Facade para facilitar o acesso:

3. Trait Pattern

O Encryptable trait adiciona criptografia automática aos modelos:

4. Strategy Pattern

Diferentes estratégias de criptografia podem ser implementadas através da interface CryptoEncrypterInterface:

Convenções de Codificação

O projeto segue as convenções da SierraTecnologia:


🔧 Principais Componentes

1. CryptoService (Facade)

Localização: src/Services/Crypto.php

A classe principal que expõe todos os métodos de criptografia:

Métodos Principais:

Método Descrição
encrypt(string $value): string Criptografa um valor usando a chave da aplicação
decrypt(string $value): string Descriptografa um valor
uuid(): string Gera um UUID v4
shareableEncrypt(string $value): string Criptografa com chave compartilhável
shareableDecrypt(string $value): string Descriptografa chave compartilhável
urlEncode(string $value): string Criptografa e codifica para URL
urlDecode(string $value): string Decodifica e descriptografa de URL
isCrypto(string $crypto): bool Verifica se string parece criptografada

2. CryptoEncrypter

Localização: src/Encryption/CryptoEncrypter.php

Motor de criptografia que implementa AES-256-CBC com OpenSSL:

Características:

Fluxo de Criptografia:

Fluxo de Descriptografia:

3. Encryptable Trait

Localização: src/Traits/Encryptable.php

Trait que adiciona criptografia automática a modelos Eloquent:

Funcionamento:

Exemplo de Uso:

4. Helpers Globais

Localização: src/Helpers/crypto.php

Funções helper para uso global:

5. Blade Directives

Localização: src/CryptoProvider.php:26-36

Diretivas Blade para uso em templates:

Exemplo em View:

6. Console Commands

Localização: src/Console/KeyMaster.php

Comando Artisan para gerenciamento de chaves (inferido pela estrutura):


💻 Uso Prático

Cenário 1: Criptografar Campos de Modelo

Problema: Você precisa armazenar dados sensíveis de clientes (email, CPF, telefone) de forma criptografada no banco de dados.

Solução:

Cenário 2: Criptografar Parâmetros de URL

Problema: Você precisa enviar IDs ou dados sensíveis em URLs de email (ex: reset de senha, confirmação de cadastro).

Solução:

Cenário 3: Compartilhar Dados Entre Aplicações

Problema: Você tem múltiplas aplicações (API, Admin, Frontend) que precisam compartilhar dados criptografados.

Solução:

IMPORTANTE: Para que a criptografia compartilhável funcione, ambas as aplicações devem ter a mesma APP_KEY no arquivo .env.

Cenário 4: Uso em Blade Templates

Problema: Você precisa exibir ou manipular dados criptografados diretamente em views.

Solução:

Boas Práticas de Segurança

DO (Faça)

  1. Sempre use HTTPS em produção para proteger dados em trânsito
  2. Backup da APP_KEY: Mantenha backup seguro da chave (sem ela, dados são irrecuperáveis)
  3. Rotação de chaves: Planeje estratégia de rotação de chaves periodicamente
  4. Validação de entrada: Sempre valide dados antes de criptografar/descriptografar
  5. Logs seguros: Não logue dados descriptografados ou chaves
  6. Tratamento de exceções: Capture e trate erros de descriptografia adequadamente

DON'T (Não Faça)

  1. Não hardcode chaves no código-fonte
  2. Não compartilhe APP_KEY em repositórios públicos
  3. Não criptografe campos de busca (você não conseguirá fazer WHERE)
  4. Não criptografe tudo (apenas dados sensíveis, por performance)
  5. Não altere APP_KEY sem migrar dados criptografados
  6. Não use criptografia para senhas (use Hash::make do Laravel)

🔗 Integração com o Ecossistema SierraTecnologia

O Crypto é uma dependência fundamental em diversos pacotes da SierraTecnologia / Rica Soluções:

Pacotes que Utilizam Crypto

Pacote Uso
Market Criptografia de dados de pagamento e transações
MediaManager Proteção de metadados sensíveis de arquivos
Informate Criptografia de dados pessoais em relatórios
Telephon Proteção de números de telefone e contatos
Population Criptografia de dados censitários sensíveis
Fabrica Proteção de configurações de ambientes

Padrões de Versionamento

O Crypto segue o Semantic Versioning (SemVer):

Integração com Pipelines CI/CD

O projeto possui pipelines compartilhados para garantir qualidade:

Exemplo de Integração Multi-Serviço


🎨 Extensão e Customização

Criar um Encrypter Customizado

Você pode implementar sua própria estratégia de criptografia:

Registrar Encrypter Customizado

Estender a Classe Crypto

Substituir Implementação Padrão via Service Provider

Criar Trait Customizada


🌟 Exemplos Reais

Caso 1: E-commerce com Criptografia de Dados de Pagamento

Contexto: Loja virtual da SierraTecnologia que processa pagamentos com cartão de crédito.

Antes (sem Crypto):

Depois (com Crypto):

Resultado:

Caso 2: Sistema de Assinatura Multi-tenant

Contexto: Plataforma SaaS com múltiplos tenants compartilhando infraestrutura.

Implementação:

Benefícios:

Caso 3: Sistema de Autenticação Distribuída

Contexto: Múltiplas aplicações (Web, API, Mobile) compartilhando autenticação.

Implementação:

Benefícios:


🤝 Guia de Contribuição

Como Contribuir

Contribuições são bem-vindas! Siga estas etapas:

1. Fork e Clone

2. Instalar Dependências

3. Criar Branch

Siga o padrão de nomenclatura:

4. Desenvolvimento

Certifique-se de seguir os padrões:

5. Executar Ferramentas de Qualidade

6. Commit e Push

Siga o padrão de commits:

Padrão de Mensagens de Commit:

7. Abrir Pull Request

Padrões de Código

Executar Testes Localmente

Issues e Feature Requests

Código de Conduta

Contato da Equipe


📄 Licença

Crypto é um software de código aberto licenciado sob a Licença MIT.

Disclaimer

O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU TITULARES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, DELITO OU DE OUTRA FORMA, DECORRENTE DE, FORA DE OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.


📞 Suporte e Contato

SierraTecnologia

SierraTecnologia é uma empresa de tecnologia especializada em soluções empresariais robustas e escaláveis para o ecossistema PHP/Laravel.

Rica Soluções

Parte do grupo Rica Soluções, oferecendo consultoria e desenvolvimento de software de alta qualidade.

Links

Suporte


🙏 Agradecimentos

Agradecemos a todos os contribuidores e à comunidade Laravel/PHP por tornarem este projeto possível.

Autores Principais


Desenvolvido com ❤️ pela SierraTecnologia / Rica Soluções


All versions of crypto with dependencies

PHP Build Version
Package Version
Requires php Version >=5.0
ext-gmp Version *
defuse/php-encryption Version ^2.2
illuminate/support Version ^5.0 || ^6.0 || ^7.0 || ^8.0
mdanter/ecc Version ^0.5
ramsey/uuid Version ^3.8|^4.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sierratecnologia/crypto contains the following files

Loading the files please wait ...