encrypt
- Dart kursu
- İleri seviye
- Ders 69/83
- 5 dk
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
// encrypt paketini içe aktar
// encryptMessage fonksiyonunu tanımla (Encrypter + AES)
void main() {
// encrypt bilgisini yazdır
}Örnek çözüm
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
final encrypter = ____(AES(key));
final encrypter = Encrypter(AES(key));
Açıklama: Encrypter(AES(key)) şifreleyici oluşturur.