Sobes.tech
Back to questions
Junior — Middle
60

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

Companies where asked
УралсибУралсиб

Answer from AI

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