Skip to content

crypto-library é uma biblioteca de criptografia desenvolvida durante meu TCC de Arquitetura de Software e Soluções, na XPE Educação.

Notifications You must be signed in to change notification settings

cunhaDev/crypto-library

Repository files navigation

Crypto Library 🔐

Um MVP para criptografia e descriptografia de informações sensiveis rapidamente utilizando Java, RSA e 3DES.

📁 Estrutura de Pastas - Arquitetura da aplicação

src/main/java
├── application # Controla todas as entradas e saidas de dados recebidas pela aplicação através de uma classe FACADE.
├── infrastructure # Mantém todas configurações relacionadas ao tamanho máximo do output gerado na criptografia e criação das Keys.   
├── service    # Mantém as nossas implementações e regras relacionadas a criptografia e descriptografia.

🟡 Configuração Necessaria

Gradle >= 8.4 && Java >= 17 instalado && a IDE de sua preferência.

🔵 Desenvolvimento Local - Execução e Debug

não é necessario nenhum servidor Web, você pode testar a aplicação utilizando a classe LocalTest.java

Tecnologias utilizadas

image

📄 Release Notes (versionamento de código)

Implementação das features de criptografia e descriptografia, documentação de apoio.

Inclusão da classe LocalTest para facilitação de testes e debugs, criação da documentação.

Refatoração da CI, melhorias de código e configuração para publicação do artefato no nexus.

Ajuste em documentação e testes unitarios

Ajuste em construtor da classe CryptographyFacade e inclusão de testes unitarios

WorkFlow interno da biblioteca

image

Como sua aplicação vai interagir com a nossa Biblioteca

image

Como implementar em seu projeto

  • Aplicações Gradle, adicione o seguinte código ao seu arquivo build.gradle em repositories:
maven {
    url 'http://localhost:8081/repository/maven-releases/'
    allowInsecureProtocol = true
}
  • Aplicações Gradle, adicione o seguinte código ao seu arquivo build.gradle em dependencies:
implementation 'com.xpe.projetoaplicado:crypto-library:1.0.0'
  • Aplicações Maven, adicione o seguinte código ao seu arquivo pom.xml em repositories:
<repository>
    <id>nexus-repository</id>
    <url>http://localhost:8081/repository/maven-releases/</url>
</repository>
  • Aplicações Maven, adicione o seguinte código ao seu arquivo pom.xml em dependencies:
<dependency>
  <groupId>com.xpe.projetoaplicado</groupId>
  <artifactId>crypto-library</artifactId>
  <version>1.0.0</version>
</dependency>

Como fazer uso

Criptografia

  • Para criptografar informações, faça a chamada da classe CryptographyFacade e utilize o método encrypt:
CryptographyFacade cryptographyFacade = new CryptographyFacade();
String encryptedText = cryptographyFacade.encrypt("your data");

Descriptografia

  • Para descriptografar informações, faça a chamada da classe CryptographyFacade e utilize o método decrypt informando o resultado obtido anteriormente ao realizar a criptografia.
CryptographyFacade cryptographyFacade = new CryptographyFacade();
String decryptedText = cryptographyFacade.decrypt("encryptedText");

Possiveis Erros e como corrigi-los

Padding error in decryption

  • Este erro ocorreu pois a criptografia falhou por algum erro interno, é aconselhavel que realize novamente a criptografia para obter o resultado correto.

Internal Server Erro

  • Este erro pode ter ocorrido devido algum bug em nossa biblioteca, fique de olho nas Releases para utilizar sempre a versão mas estavel.

📚 Leitura recomendada

About

crypto-library é uma biblioteca de criptografia desenvolvida durante meu TCC de Arquitetura de Software e Soluções, na XPE Educação.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages