Sobes.tech
Junior — Middle

რომელი შიფრირების მეთოდები და მონაცემების დაცვის ტექნიკები გეცოდინება?

sobes.tech AI

პასუხი AI-სგან

Java-да მონაცემების დაშიფვრა და დაცვა ხშირად გამოიყენება შემდეგი მეთოდები და ტექნიკები:

  • სიმეტრიული დაშიფვრა (მაგ., AES) — ერთი გასაღებით დაშიფვრა და განდევნა.
  • ასიმეტრიული დაშიფვრა (მაგ., RSA) — წყვილი გასაღებები: საჯარო და პირადი.
  • Hashing (მაგ., 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));
    }
}