Sobes.tech
Junior — Middle

Aké metódy šifrovania a techniky ochrany údajov poznáš?

sobes.tech AI

Odpoveď od AI

V jazyku Java sa často používajú nasledujúce metódy a techniky na šifrovanie a ochranu údajov:

  • Symetrické šifrovanie (napríklad AES) — jeden kľúč na šifrovanie a dešifrovanie.
  • Asymetrické šifrovanie (napríklad RSA) — pár kľúčov: verejný a súkromný.
  • Hashovanie (napríklad SHA-256) — jednosmerná transformácia údajov na kontrolu integrity.
  • Digitálne podpisy — na potvrdenie pravosti a integrity údajov.
  • Použitie Java Cryptography Architecture (JCA) a knižníc ako Bouncy Castle.

Príklad použitia AES na šifrovanie reťazca:

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