Sobes.tech
Junior — Middle
89

¿Puedes nombrar los principales tipos de métodos de cifrado de datos?

Empresas donde se preguntó
УралсибУралсиб

Respuesta de la IA

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