Secure random
- Dart kursu
- İleri seviye
- Ders 70/83
- 5 dk
Random.secure ile güvenli rastgele öğrenirsin.
Random.secure
Random.secure, Dart'ın kriptografik olarak güvenli rastgele sayı üreticisidir. dart:math kütüphanesinde bulunur. Normal Random'dan farklı olarak tahmin edilemez; şifreler, belirteçler (token) ve oturum kimlikleri için kullanılır.
Örnek: import 'dart:math'; final r = Random.secure(); final token = List<int>.generate(32, (_) => r.nextInt(256));. Bu, 32 baytlık rastgele bir token üretir. Her bayt 0-255 arası rastgele bir değer alır. Bu token'ı base64'e çevirerek bir belirteç olarak kullanabilirsin. Random() ise tahmin edilebilir; güvenlik için uygun değildir.
Token üretimi
Güvenli bir belirteç (token) üretmek için Random.secure kullanırsın. Tipik desen: List<int>.generate(uzunluk, (_) => r.nextInt(256)). Bu, her baytı 0-255 arası rastgele olan bir liste üretir. Listeyi base64'e çevirerek bir dize belirteç elde edersin.
Örnek: 32 baytlık bir token, base64'te 44 karakterlik bir dize olur. Bu, oturum kimliği, API anahtarı veya sıfırlama belirteci olarak kullanılabilir. Önemli olan, Random() yerine her zaman Random.secure() kullanmaktır; aksi halde belirteç tahmin edilebilir olur ve güvenlik zedelenir.
Uygulama Token üretme fonksiyonu
import 'dart:math'; ekle. generateToken fonksiyonunu tanımla: final r = Random.secure(); ve return List<int>.generate(32, (_) => r.nextInt(256)); içersin. main içinde print('Random.secure: kriptografik rastgele') ve print('Token boyutu: 32 bayt') ekle.
Başlangıç kodu
// dart:math kütüphanesini içe aktar
// generateToken fonksiyonunu tanımla (Random.secure ile 32 baytlık token)
void main() {
// güvenli rastgele bilgisini yazdır
}Örnek çözüm
import 'dart:math';
List<int> generateToken() {
final r = Random.secure();
return List<int>.generate(32, (_) => r.nextInt(256));
}
void main() {
print('Random.secure: kriptografik rastgele');
print('Token boyutu: 32 bayt');
}Beklenen çıktı
Random.secure: kriptografik rastgele Token boyutu: 32 bayt
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Random.secure ne sağlar?
- Tahmin edilebilir sayı
- Kriptografik güvenli rastgele Doğru cevap
- Sabit sayı
- Aynı sayı
Açıklama: Random.secure kriptografik güvenli rastgele sağlar.
2 Random.secure parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
Random.secure |
Güvenli rastgele |
dart:math |
Kütüphane |
nextInt |
Tamsayı |
nextDouble |
Ondalık |
3 Random.secure çağrısı
final r = ____();
final r = Random.secure();
Açıklama: Random.secure() güvenli rastgele üretici oluşturur.