"Enter"a basıp içeriğe geçin

AES Nedir ?

AES (Advanced Encryption Standard), verilerin gizliliğini sağlamak için kullanılan bir simetrik anahtar şifreleme algoritmasıdır. AES anahtarları 128, 192 ve 256 bit uzunluklara sahiptir.

AES’in Avantajları

  1. Yüksek Güvenlik: AES, birçok güvenlik testi ve analizden geçmiştir ve şu anda saldırılara karşı dayanıklıdır.
  2. Hız: Hem yazılım hem de donanım uygulamalarında çok hızlıdır.
  3. Esneklik: Farklı anahtar uzunlukları sunarak çeşitli güvenlik gereksinimlerini karşılar.
  4. Standart: Dünya genelinde birçok güvenlik protokolü ve sistemde standart olarak kullanılır (ör. HTTPS, VPN, Wi-Fi Güvenliği).

Java kodunda AES ile ilgili kısa bir şifreleme örneğini aşağıda görebilirsiniz.

import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import java.util.Base64;

public class AESOperation {
    // AES şifreleme metodu
    public static String encrypt(String plainText, SecretKey secretKey) throws Exception {
        Cipher cipher = Cipher.getInstance("AES");
        cipher.init(Cipher.ENCRYPT_MODE, secretKey);
        byte[] encryptedBytes = cipher.doFinal(plainText.getBytes());
        return Base64.getEncoder().encodeToString(encryptedBytes); // Base64 ile okunabilir formata çevir
    }

    // AES şifre çözme metodu
    public static String decrypt(String encryptedText, SecretKey secretKey) throws Exception {
        Cipher cipher = Cipher.getInstance("AES");
        cipher.init(Cipher.DECRYPT_MODE, secretKey);
        byte[] decryptedBytes = cipher.doFinal(Base64.getDecoder().decode(encryptedText));
        return new String(decryptedBytes);
    }

    public static void main(String[] args) {
        try {
            // 1. AES anahtarı oluştur
            KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
            keyGenerator.init(128); // 128 bitlik anahtar oluştur
            SecretKey secretKey = keyGenerator.generateKey();

            // 2. Şifrelenecek metin
            String originalText = "Hello World!";
            System.out.println("Original Text: " + originalText);

            // 3. Şifreleme
            String encryptedText = encrypt(originalText, secretKey);
            System.out.println("Encrypted Text: " + encryptedText);

            // 4. Şifre Çözme
            String decryptedText = decrypt(encryptedText, secretKey);
            System.out.println("Decrypted Text: " + decryptedText);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir