Özet - Güvenlik
- Kotlin kursu
- İleri seviye
- Ders 78/83
- 5 dk
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
import java.security.MessageDigest
// main'de SHA-256 ile hello'yu özetle
// hex'e çevir, hex uzunluğunu yazdırÖrnek çözüm
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
val hex = bytes.joinToString("") { "%02x".format(it) }
println(hex.____)
val hex = bytes.joinToString("") { "%02x".format(it) }
println(hex.length)
Açıklama: String.length hex uzunluğunu verir.