Назад к вопросам
Банк Россия
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));
}
}