Sobes.tech
Junior — Middle

Que métodos de encriptação e técnicas de proteção de dados conheces?

sobes.tech IA

Resposta da IA

Em Java, os métodos e técnicas frequentemente utilizados para encriptar e proteger dados são:

  • Criptografia simétrica (por exemplo, AES) — uma chave para encriptar e desencriptar.
  • Criptografia assimétrica (por exemplo, RSA) — um par de chaves: pública e privada.
  • Hashing (por exemplo, SHA-256) — transformação unidirecional de dados para verificar a integridade.
  • Assinaturas digitais — para confirmar a autenticidade e integridade dos dados.
  • Uso da Java Cryptography Architecture (JCA) e bibliotecas como Bouncy Castle.

Exemplo de uso de AES para encriptar uma string:

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;

public class EncryptionExample {
    public static void main(String[] args) throws Exception {
        KeyGenerator keyGen = KeyGenerator.getInstance("AES");
        keyGen.init(128);
        SecretKey secretKey = keyGen.generateKey();

        Cipher cipher = Cipher.getInstance("AES");
        cipher.init(Cipher.ENCRYPT_MODE, secretKey);

        String text = "Hello, World!";
        byte[] encrypted = cipher.doFinal(text.getBytes());

        System.out.println("Encrypted data: " + java.util.Base64.getEncoder().encodeToString(encrypted));
    }
}