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