CodeBlanks Logo Icon CodeBlanks

Özet - Güvenlik

crypto, HMAC ve encrypt'i birleştirerek bir şifreleyici yazarsın.

Özet - Güvenlik

Bu grupta Dart ile güvenlik araçlarını öğrendik. crypto hash fonksiyonları (sha256) sağlar; HMAC anahtarlı imza üretir; encrypt AES simetrik şifreleme yapar; Random.secure kriptografik rastgele üretir; bcrypt parola hashleme sunar.

Bu özette crypto ve HMAC'i bir araya getiren küçük bir program yazacağız. Program bir verinin SHA-256 hash'ini ve aynı verinin HMAC-SHA256 imzasını hesaplar. Bu, bir uygulamanın veri bütünlüğü ve kimlik doğrulama katmanının küçük örneğidir.

Uygulama Hash ve HMAC özeti

import 'dart:convert'; ve import 'package:crypto/crypto.dart'; ekle. main içinde final data = utf8.encode('test'); ekle. final hash = sha256.convert(data); ile hash hesapla. final key = utf8.encode('anahtar'); ve final hmac = Hmac(sha256, key); ile HMAC oluştur, final digest = hmac.convert(data); ile imzayı hesapla. print('Hash: $hash') ve print('HMAC: $digest') ile yazdır.

Başlangıç kodu

main.dart
// dart:convert ve crypto paketini içe aktar

void main() {
  // 'test' verisinin sha256 hash'ini ve HMAC-SHA256 imzasını hesapla ve yazdır
}

Örnek çözüm

main.dart
import 'dart:convert';
import 'package:crypto/crypto.dart';

void main() {
  final data = utf8.encode('test');
  final hash = sha256.convert(data);
  final key = utf8.encode('anahtar');
  final hmac = Hmac(sha256, key);
  final digest = hmac.convert(data);
  print('Hash: $hash');
  print('HMAC: $digest');
}

Beklenen çıktı

Hash: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
HMAC: 6370f34eedacadc33452b4fc825abafc6aa7ae86d29e7b36fe1b76f0ffbad0fa

Soru ve cevaplar

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

1 Parola hashleme algoritması?

  • jaspr
  • crypto
  • encrypt
  • bcrypt Doğru cevap

Açıklama: bcrypt parola hashleme algoritmasıdır.

2 Güvenlik araçlarını eşleştir

Kavram Anlamı
sha256 Hash
Hmac İmzalı hash
AES Şifreleme
bcrypt Parola

3 sha256 çağrısı

Soru
final hash = ____.convert(utf8.encode('test'));
Cevap
final hash = sha256.convert(utf8.encode('test'));

Açıklama: sha256.convert(...) SHA-256 özetini hesaplar.

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