MagmaNex LogoMagmaNex
Ana Sayfa/Blog/Hashing, Şifreleme ve Encoding Arasındaki Fark
Hashing, Şifreleme ve Encoding Arasındaki Fark
Güvenlik10 Haziran 2026· 8 dk okuma

Hashing, Şifreleme ve Encoding Arasındaki Fark

Hashing, şifreleme ve encoding sürekli birbirine karıştırılır. Üçünü net biçimde tanımlıyor, ne zaman hangisini kullanacağınızı ve sık yapılan hataları açıklıyoruz.

#hashing#şifreleme#encoding#güvenlik#parola

Hashing, Şifreleme ve Encoding Arasındaki Fark

"Verimi Base64 ile şifreledim" cümlesini duyduysanız, bu yazı tam size göre. Hashing, şifreleme (encryption) ve encoding birbirine en çok karıştırılan üç kavramdır. Üçü de veriyi bir biçimden başka bir biçime dönüştürür, ama amaçları taban tabana farklıdır. Birini diğerinin yerine kullanmak, ciddi güvenlik açıklarına yol açar.

Gelin üçünü net biçimde tanımlayalım.

Encoding: Sadece Bir Temsil Biçimi

Encoding (kodlama), veriyi bir formattan diğerine çevirmektir. Amacı güvenlik değil, uyumluluk ve taşınabilirliktir. Veriyi farklı sistemlerin doğru biçimde işleyebilmesi için standart bir gösterime sokar.

Encoding'in en önemli özelliği: anahtar gerektirmez ve herkes tarafından geri çevrilebilir. Algoritma herkese açıktır. Base64 ile kodlanmış bir metni saniyeler içinde herkes çözebilir.

Yaygın örnekler:

  • Base64 — İkili (binary) veriyi metin tabanlı ortamlarda (e-posta, JSON, URL) taşımak için kullanılır.
  • URL encoding — Boşluk gibi karakterleri %20 biçimine çevirir.
  • ASCII / UTF-8 — Karakterleri sayısal değerlere eşler.

Örneğin merhaba kelimesinin Base64 karşılığı:

merhaba  →  bWVyaGFiYQ==

Bu çıktı "şifrelenmiş" gibi görünebilir ama değildir. Anahtar yoktur, gizlilik yoktur. Hızlıca denemek için Base64 Kodlayıcı aracımızı kullanabilirsiniz.

Altın kural: Encoding'i asla güvenlik amacıyla kullanmayın. Base64, veriyi gizlemez; sadece farklı bir alfabeyle yazar.

Encryption: Anahtarla Geri Çevrilebilir Gizlilik

Encryption (şifreleme), veriyi yalnızca doğru anahtara sahip olanların okuyabileceği biçime dönüştürür. Amacı gizliliktir (confidentiality). Encoding'in aksine, anahtar olmadan orijinal veriye ulaşmak pratikte imkânsızdır.

Şifreleme iki ana türe ayrılır:

Simetrik Şifreleme

Şifreleme ve şifre çözme için aynı anahtar kullanılır. Hızlıdır, büyük veri hacimleri için idealdir.

  • Örnek algoritmalar: AES, ChaCha20
  • Zorluk: Anahtarı karşı tarafa güvenli biçimde ulaştırmak.

Asimetrik Şifreleme

Bir çift anahtar kullanılır: açık anahtar (public key) ile şifrelenir, özel anahtar (private key) ile çözülür. Anahtar paylaşımı sorununu çözer.

  • Örnek algoritmalar: RSA, ECC
  • Kullanım: HTTPS/TLS, dijital imzalar, e-posta şifreleme.

Şifrelemenin kritik noktası: geri çevrilebilir olmasıdır. Doğru anahtarla orijinal veri eksiksiz geri elde edilir. Bu yüzden parola saklamak için şifreleme uygun değildir — anahtar ele geçirilirse tüm parolalar açığa çıkar.

Hashing: Tek Yönlü Parmak İzi

Hashing, herhangi boyuttaki veriyi sabit uzunlukta, benzersiz bir özete (digest) dönüştürür. En önemli özelliği tek yönlü olmasıdır: özetten orijinal veriye geri dönmek matematiksel olarak mümkün değildir.

Hashing'in amaçları:

  • Bütünlük (integrity) — Dosya veya mesaj değişti mi, kontrol etmek.
  • Parola saklama — Parolanın kendisini değil, özetini saklamak.

İyi bir hash fonksiyonunun özellikleri:

  • Aynı girdi her zaman aynı çıktıyı verir.
  • Girdideki en küçük değişiklik çıktıyı tamamen değiştirir (avalanche etkisi).
  • İki farklı girdinin aynı çıktıyı vermesi (collision) pratikte imkânsız olmalıdır.

merhaba kelimesinin SHA-256 özetini görmek isterseniz SHA-256 Oluşturucu aracını deneyebilir, eski algoritmalar için ise MD5 Oluşturucu aracına göz atabilirsiniz.

MD5 ve SHA-1 Neden Kırık?

MD5 ve SHA-1, güvenlik açısından artık güvenli kabul edilmez. Çünkü araştırmacılar, aynı özeti üreten iki farklı girdi (collision) oluşturmayı başardı. Bu algoritmaları yalnızca güvenlik dışı amaçlarla (örneğin dosya bütünlüğü için hızlı kontrol) kullanabilirsiniz; asla parola veya imza için değil.

Elinizdeki bir özetin hangi algoritmaya ait olduğunu merak ediyorsanız, Hash Tanımlayıcı aracı tahmin yürütmenize yardımcı olur.

Parolalar İçin: Salt, bcrypt ve Argon2

Parolaları düz SHA-256 ile hash'lemek de yeterli değildir. İki neden:

  1. Hız — Modern donanım saniyede milyarlarca SHA-256 hesaplayabilir, yani brute-force çok hızlıdır.
  2. Rainbow table — Önceden hesaplanmış özet tablolarıyla yaygın parolalar anında çözülür.

Çözüm:

  • Salt — Her parolaya rastgele, benzersiz bir değer eklenir. Böylece aynı parolalar bile farklı özetler üretir ve rainbow table işe yaramaz.
  • Yavaş algoritmalarbcrypt, scrypt ve Argon2 kasıtlı olarak yavaştır ve ayarlanabilir maliyet (cost) faktörüne sahiptir. Bu, brute-force saldırılarını ekonomik olarak imkânsız hale getirir.

Bir parolanın bcrypt özetini denemek için Parola Hash'leyici aracını kullanabilirsiniz. Bu konularla ilgili tüm araçlara Güvenlik araçları sayfasından ulaşabilirsiniz.

Karşılaştırma Tablosu

Özellik Encoding Encryption Hashing
Amaç Uyumluluk / taşınabilirlik Gizlilik Bütünlük / parola
Geri çevrilebilir mi? Evet (herkes) Evet (anahtarla) Hayır
Anahtar gerekir mi? Hayır Evet Hayır
Çıktı uzunluğu Değişken Değişken Sabit
Örnek Base64, URL AES, RSA SHA-256, bcrypt

Ne Zaman Hangisini Kullanmalı?

  • Veriyi e-posta veya JSON içinde taşımak mı istiyorsunuz? → Encoding (Base64).
  • Veriyi gizli tutmak ve sonra geri okumak mı istiyorsunuz? → Encryption (AES, RSA).
  • Bir parolayı saklamak veya dosya bütünlüğünü doğrulamak mı istiyorsunuz? → Hashing (Argon2, bcrypt, SHA-256).

Sık Yapılan Hatalar

  • "Base64 ile şifreledim." Hayır — sadece kodladınız. Herkes saniyede çözer.
  • Parolaları AES ile şifrelemek. Parolalar geri okunmamalı; hash'lenmeli. Geri okunabilen her şey çalınabilir.
  • Parolaları düz MD5/SHA-1 ile hash'lemek. Salt yok, yavaşlık yok — kolayca kırılır.
  • Hash'i "şifreleme" sanmak. Hash geri çevrilemez; şifreleme çevrilebilir.

Bu üç kavramı doğru ayırt etmek, modern güvenliğin temelidir. Kısaca: encoding biçimdir, encryption gizliliktir, hashing parmak izidir.

Tüm MagmaNex araçları tamamen tarayıcınızda çalışır. Girdiğiniz hiçbir veri sunucuya yüklenmez; her şey kendi cihazınızda işlenir.


🛠 İlgili Araçlar

📚 İlgili Yazılar

← Tüm Yazılar🛠 Araçları Keşfet