Sobes.tech
Junior — Middle
76

Можешь ли ты назвать основные виды методов шифрования данных?

Компании, где спрашивали
УралсибУралсиб

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

sobes.tech AI

Основные виды методов шифрования данных можно разделить на две большие категории:

  1. Симметричное шифрование — для шифрования и расшифровки используется один и тот же ключ. Примеры алгоритмов:

    • AES (Advanced Encryption Standard)
    • DES (Data Encryption Standard)
    • 3DES (Triple DES)
  2. Асимметричное шифрование — используются два ключа: публичный для шифрования и приватный для расшифровки. Примеры алгоритмов:

    • RSA
    • ECC (Elliptic Curve Cryptography)

Кроме того, есть:

  • Хэширование — одностороннее преобразование данных в фиксированную длину (например, SHA-256), не предназначено для восстановления исходных данных.
  • Цифровые подписи — используют асимметричное шифрование для подтверждения подлинности данных.

Пример использования AES в Java:

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

public class AESExample {
    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.Arrays.toString(encrypted));
    }
}