Este projeto implementa criptografia e descriptografia de mensagens usando o algoritmo de criptografia simétrica AES (Advanced Encryption Standard) em TypeScript. O AES é um método de cifra por blocos amplamente utilizado para proteger dados, garantindo segurança e integridade.
- TypeScript: Linguagem de programação tipada que compila para JavaScript.
- Node.js: Ambiente de execução que permite rodar JavaScript e TypeScript no servidor.
- AES (Advanced Encryption Standard): Algoritmo de criptografia simétrica usado para proteger as mensagens.
- Criptografa uma mensagem de texto usando AES-256 em modo CBC.
- Descriptografa a mensagem cifrada de volta para o texto original.
- Permite que o usuário forneça uma mensagem personalizada ou utilize uma mensagem padrão.
index.ts
: Código principal que implementa a lógica de criptografia e descriptografia.tsconfig.json
: Arquivo de configuração do TypeScript.package.json
: Gerencia dependências e scripts do projeto.
-
Clone o Repositório
git clone https://github.com/Phillipe17Macedo/Cryptography-Block-Typescript.git cd seu-repositorio
-
Instale as Dependências
npm install
-
Compile o Código TypeScript
npx tsc
-
Execute o Código
node dist/index.js
O programa solicitará que você digite uma mensagem para criptografar. Pressione Enter para usar a mensagem padrão ou insira uma mensagem personalizada.
Digite uma mensagem para cifrar (ou pressione Enter para usar a mensagem padrão): Esta é uma mensagem secreta!
Mensagem Cifrada: <valor cifrado em hexadecimal>
Mensagem Decifrada: Esta é uma mensagem secreta!
crypto
: Módulo nativo do Node.js utilizado para operações de criptografia.@types/node
: Fornece as definições de tipo para Node.js, garantindo compatibilidade com TypeScript.
- Geração de Chave e Vetor de Inicialização: São gerados uma chave de 256 bits e um vetor de inicialização (IV) de 16 bytes, essenciais para a segurança da criptografia AES.
- Cifra e Decifra: O texto é criptografado com AES em modo CBC (Cipher Block Chaining) e convertido para hexadecimal. A descriptografia recupera o texto original a partir do texto cifrado e do IV.
- Esta implementação é destinada para estudos de criptografia simétrica em TypeScript e Node.js.
- AES-256 é uma criptografia segura, mas a chave e o IV devem ser protegidos em um ambiente real para garantir a segurança dos dados.
Se quiser contribuir com melhorias, abra uma issue ou faça um fork e envie um pull request.
Este projeto está sob a licença MIT.