Sobes.tech
Назад к вопросам
Junior — Middle
66

Какие методы шифрования и техники защиты данных тебе знакомы?

Компании, где спрашивали
Банк РоссияБанк Россия

Ответ от нейросети

sobes.tech AI

В Java для шифрования и защиты данных часто используются следующие методы и техники:

  • Симметричное шифрование (например, AES) — один ключ для шифрования и расшифровки.
  • Асимметричное шифрование (например, RSA) — пара ключей: публичный и приватный.
  • Хэширование (например, SHA-256) — одностороннее преобразование данных для проверки целостности.
  • Цифровые подписи — для подтверждения подлинности и целостности данных.
  • Использование Java Cryptography Architecture (JCA) и библиотек, таких как Bouncy Castle.

Пример использования AES для шифрования строки:

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