← Kursa Dön
💻

Password Hashing Simulation

Kolay
100 puan · Java

SHA-256 ve salt kullanarak basit bir password hashing sistemi yazın. Şifreleri hashleyip doğrulama yapabilmelisiniz. Bu ödev, Spring Security'nin PasswordEncoder mantığını anlamanıza yardımcı olacaktır.

📋 Talimatlar

Stdin'den komutlar okuyun:

  • HASH <password> → Rastgele 8 hex karakter salt üretip SHA-256 ile hashleyin. Çıktı: <salt>:<hex-hash>
  • VERIFY <password> <salt>:<hex-hash> → Verilen şifreyi salt ile hashleyip stored hash ile karşılaştırın. Eşleşme: MATCH, aksi halde NO_MATCH
  • CHECK <password1> <password2> → İki şifre aynı mı? SAME veya DIFFERENT

Hash hesaplama: SHA-256(salt + password) → hex string

Not: HASH komutunda salt üretimi deterministic olması için password'un her karakterinin ASCII değerlerini toplayıp 8 hex karaktere dönüştürün: String.format("%08x", sum). Bu sayede aynı password hep aynı salt'ı üretir (test için).

🧪 Örnek Test Senaryoları

HASH üretimi ve VERIFY doğrulama
Girdi
HASH hello
VERIFY hello 00000214:128127c2e8badc1fdaa691816b00094b2a070f20894357131c5a5e0765677427
Beklenen Çıktı
00000214:128127c2e8badc1fdaa691816b00094b2a070f20894357131c5a5e0765677427
MATCH
Basit şifre karşılaştırma
Girdi
CHECK abc abc
CHECK abc def
Beklenen Çıktı
SAME
DIFFERENT

💡 İpuçları

Main.java
✓ Çözüm yüklendi
puan

                    
Ln 1, Col 1 · JAVA · UTF-8
Wandbox