Back to questions
Уралсиб
Junior — Middle
60
Можешь ли ты назвать основные виды методов шифрования данных?
Companies where asked
Answer from AI
sobes.tech AI
Основные виды методов шифрования данных можно разделить на две большие категории:
-
Симметричное шифрование — для шифрования и расшифровки используется один и тот же ключ. Примеры алгоритмов:
- AES (Advanced Encryption Standard)
- DES (Data Encryption Standard)
- 3DES (Triple DES)
-
Асимметричное шифрование — используются два ключа: публичный для шифрования и приватный для расшифровки. Примеры алгоритмов:
- 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));
}
}