Criptografia

O seu desafio será implementar a criptografia num serviço de forma transparente para a API e para as camadas de serviço da sua aplicação. O objetivo é garantir que os campos sensíveis dos objetos de entidade não sejam visíveis diretamente, realizando a criptografia em tempo de execução durante a conversão da entidade para a coluna correspondente no banco de dados, e vice-versa.

  • 17 soluções
  • 6 linguagens

Exemplo

Considere os campos userDocument e creditCardToken como campos sensíveis que devem ser criptografados. A tabela de exemplo seria a seguinte:

iduserDocumentcreditCardTokenvalue
1MzYxNDA3ODE4MzM=YWJjMTIz5999
2MzI5NDU0MTA1ODM=eHl6NDU21000
3NzYwNzc0NTIzODY=Nzg5eHB0bw==1500

A estrutura da entidade correspondente seria a seguinte:

CampoTipo
idLong
userDocumentString
creditCardTokenString
valueLong

Requisitos

  • Implemente um CRUD simples considerando os campos mencionados acima como sensíveis.

  • Utilize um algoritmo de criptografia simétrica ou assimétrica da sua preferência.

    Sugestões:
    AES para criptografia simétrica ou RSA para criptografia assimétrica.

Soluções da comunidade