CodeBlanks Logo Icon CodeBlanks

Secure random

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

main.dart
// 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

main.dart
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ı

Soru
final r = ____();
Cevap
final r = Random.secure();

Açıklama: Random.secure() güvenli rastgele üretici oluşturur.

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