CodeBlanks Logo Icon CodeBlanks

Özet - Güvenlik

hash, HMAC ve AES'i birleştirerek bir şifreleyici yazarsın.

Özet - Güvenlik

Bu grupta güvenlik araçlarını gördün: MessageDigest ile hash, Mac ile HMAC, Cipher ile AES, SecureRandom ile kriptografik rastgele ve SecretKeyFactory ile PBKDF2.

Bu ders, üçünü birleştiren küçük bir görev içerir: bir metni SHA-256 ile özetleyip hex'e çevirip uzunluğunu yazdıracaksın. Bu kalıp, güvenlik araçlarının temelini bir araya getirir.

Uygulama Özet: SHA-256 hex uzunluğu

main içinde val md = MessageDigest.getInstance("SHA-256") al, val bytes = md.digest("hello".toByteArray()) ile özetle. val hex = bytes.joinToString("") { "%02x".format(it) } ile hex'e çevir ve println(hex.length) yazdır.

Başlangıç kodu

Main.kt
import java.security.MessageDigest

// main'de SHA-256 ile hello'yu özetle
// hex'e çevir, hex uzunluğunu yazdır

Örnek çözüm

Main.kt
import java.security.MessageDigest

fun main() {
    val md = MessageDigest.getInstance("SHA-256")
    val bytes = md.digest("hello".toByteArray())
    val hex = bytes.joinToString("") { "%02x".format(it) }
    println(hex.length)
}

Beklenen çıktı

64

Soru ve cevaplar

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

1 Bir girdinin bütünlüğünü tek yönlü doğrulamak için hangi araç kullanılır?

  • MessageDigest Doğru cevap
  • Cipher
  • SecureRandom
  • Mac

Açıklama: MessageDigest tek yönlü hash üretir.

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

Kavram Anlamı
MessageDigest Hash
Mac HMAC
Cipher AES şifreleme
SecretKeyFactory PBKDF2

3 joinToString ile hex çevirme

Soru
val hex = bytes.joinToString("") { "%02x".format(it) }
println(hex.____)
Cevap
val hex = bytes.joinToString("") { "%02x".format(it) }
println(hex.length)

Açıklama: String.length hex uzunluğunu verir.

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