CodeBlanks Logo Icon CodeBlanks

encrypt

encrypt paketi ile şifreleme öğrenirsin.

encrypt paketi

encrypt, Dart'ın simetrik şifreleme paketidir. AES algoritmasını kullanır. import 'package:encrypt/encrypt.dart'; ile içe aktarılır. Encrypter, Key ve IV sınıflarıyla çalışır.

Örnek: final key = Key.fromUtf8('16baytlikkey1234'); final iv = IV.fromUtf8('16baytlikiv01234'); final encrypter = Encrypter(AES(key)); final encrypted = encrypter.encrypt('mesaj', iv: iv);. Burada 16 baytlık bir anahtar ve başlangıç vektörü (IV) ile AES şifreleme yapılır. Sonuç bir Encrypted nesnesidir; .base64 ile base64 dizeye çevrilir.

AES şifreleme akışı

AES şifreleme üç parçayla çalışır: Key (anahtar), IV (başlangıç vektörü) ve Encrypter (şifreleyici). Anahtar şifreleme için gizli, IV ise her mesajda farklı olması tercih edilen bir değerdir.

Şifreli metni çözmek için encrypter.decrypt(encrypted, iv: iv) kullanılır. Aynı anahtar ve IV ile şifrelenmiş veri, aynı anahtar ve IV ile çözülür. Bu, simetrik şifrelemenin temelidir: aynı anahtar hem şifreleme hem çözme için kullanılır. Bu derste şifreleme fonksiyonunu tanımlayacağız.

Uygulama Şifreleme fonksiyonu tanımla

import 'package:encrypt/encrypt.dart'; ekle. encryptMessage(String msg, Key key, IV iv) fonksiyonunu tanımla: final encrypter = Encrypter(AES(key)); ve return encrypter.encrypt(msg, iv: iv).base64; içersin. main içinde print('encrypt: AES şifreleme') ve print('Çıktı: base64 şifreli metin') ekle.

Başlangıç kodu

main.dart
// encrypt paketini içe aktar
// encryptMessage fonksiyonunu tanımla (Encrypter + AES)

void main() {
  // encrypt bilgisini yazdır
}

Örnek çözüm

main.dart
import 'package:encrypt/encrypt.dart';

String encryptMessage(String msg, Key key, IV iv) {
  final encrypter = Encrypter(AES(key));
  return encrypter.encrypt(msg, iv: iv).base64;
}

void main() {
  print('encrypt: AES şifreleme');
  print('Çıktı: base64 şifreli metin');
}

Beklenen çıktı

encrypt: AES şifreleme
Çıktı: base64 şifreli metin

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 encrypt parçalarını eşleştir

Kavram Anlamı
encrypt Şifreleme paketi
AES Algoritma
Encrypter Şifreleyici
IV Başlangıç vektörü

2 encrypt paketi hangi algoritmayı kullanır?

  • AES Doğru cevap
  • MD5
  • SHA
  • RSA

Açıklama: encrypt paketi AES algoritmasını kullanır.

3 Encrypter oluşturma

Soru
final encrypter = ____(AES(key));
Cevap
final encrypter = Encrypter(AES(key));

Açıklama: Encrypter(AES(key)) şifreleyici oluşturur.

İleri seviye bölümündeki tüm dersler