Sobes.tech
Junior — Middle

Welke encryptiemethoden en databeveiligingstechnieken ken je?

sobes.tech AI

Antwoord van AI

In Java worden de volgende methoden en technieken vaak gebruikt voor het versleutelen en beveiligen van gegevens:

  • Symmetrische encryptie (bijvoorbeeld AES) — één sleutel voor encryptie en decryptie.
  • Asymmetrische encryptie (bijvoorbeeld RSA) — een paar sleutels: openbaar en privé.
  • Hashing (bijvoorbeeld SHA-256) — een eenrichtingsomzetting van gegevens om de integriteit te controleren.
  • Digitale handtekeningen — om de authenticiteit en integriteit van gegevens te bevestigen.
  • Gebruik van Java Cryptography Architecture (JCA) en bibliotheken zoals Bouncy Castle.

Voorbeeld van het gebruik van AES om een string te versleutelen:

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));
    }
}