Guide 27 Mar 2026 10 dk okuma

SHA-256 Hashing Rehberi - Kriptografik Hash Fonksiyonları Nasıl Çalışır

SHA-256 hakkında her şeyi öğrenin: hash nedir, SHA-256 nasıl çalışır, Bitcoin'den parola depolamaya gerçek dünya kullanım alanları ve online SHA-256 hash oluşturma.

SHA-256 Hashing Complete Guide

Hash (Özet) Nedir?

Hashing, herhangi bir boyuttaki girdiyi alıp sabit boyutlu bir çıktı üreten tek yönlü matematiksel bir fonksiyondur. Bu çıktıya hash değeri (özet veya checksum olarak da bilinir) denir. Bunu veriler için dijital bir parmak izi olarak düşünebilirsiniz: tıpkı her insanın benzersiz bir parmak izi olması gibi, her veri parçası da benzersiz bir hash üretir.

Hashing ile şifreleme arasındaki temel fark, hashing'in geri döndürülemez olmasıdır. Şifreleme doğru anahtarla geri alınabilecek şekilde tasarlanmışken, hash fonksiyonu tek yönlü bir yoldur. Hash değerinden orijinal veriyi yeniden oluşturamazsınız. Bu özellik, hashing'i veri bütünlüğünü doğrulamak ve parolaları güvenli şekilde depolamak için ideal kılar.

  • Sabit çıktı boyutu: Girdi 1 bayt veya 1 terabayt olsun, hash her zaman aynı uzunluktadır.
  • Deterministik: Aynı girdi her zaman aynı hash'i üretir. Her seferinde, istisnasız.
  • Tek yönlü: Hash değerinden orijinal veriyi geri elde edemezsiniz.
  • Benzersiz: Girdideki küçücük bir değişiklik bile tamamen farklı bir hash üretir (çığ etkisi).
Hashing ve Şifreleme Farkı: Şifreleme iki yönlü bir süreçtir (bir anahtarla şifrele ve çöz). Hashing tek yönlü bir süreçtir (hash'ten orijinal veriyi asla geri alamazsınız). Orijinal veriyi geri almanız gerekiyorsa şifreleme kullanın. Sadece veriyi doğrulamanız gerekiyorsa hashing kullanın.

SHA-256 Nedir?

SHA-256 (Güvenli Hash Algoritması 256-bit), ABD Ulusal Güvenlik Ajansı (NSA) tarafından tasarlanan ve 2001'de NIST tarafından yayınlanan SHA-2 ailesinin bir üyesidir. Günümüzde dünyanın en yaygın kullanılan hash fonksiyonudur ve blockchain teknolojisinin, dijital sertifikaların ve modern güvenlik protokollerinin temelini oluşturur.

SHA-256 her zaman 256-bit (32-bayt) çıktı üretir ve bu genellikle 64 karakterlik onaltılık (hex) bir dize olarak gösterilir. Tek bir karakter veya kocaman bir dosya hash'leseniz de çıktı her zaman tam olarak 64 hex karakterdir.

SHA-256'nın Temel Özellikleri

  • Deterministik: Aynı girdi her zaman aynı hash'i üretir. "merhaba" kelimesini bugün, yarın veya 100 yıl sonra hash'leyin, sonuç hep aynı olacaktır.
  • Çığ Etkisi: Girdideki tek bir bitin değişmesi bile tamamen farklı bir hash üretir. Örneğin "merhaba" ve "Merhaba" tamamen farklı 64 karakterlik çıktılar üretir.
  • Çarpışma Direnci: Aynı hash'i üreten iki farklı girdi bulmak hesaplama açısından mümkün değildir. 2^256 olası çıktıyla çarpışma olasılığı astronomik derecede küçüktür.
  • Ön Görüntü Direnci: Bir hash değeri verildiğinde, orijinal girdiyi bulmak pratik olarak imkansızdır.
  • Hızlı Hesaplama: SHA-256 herhangi bir girdi için hızlıca hesaplanabilir, bu da gerçek zamanlı uygulamalar için pratik olmasını sağlar.
Örnek - Çığ Etkisi:
Girdi: "hello"
SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Girdi: "Hello" (sadece ilk harf değişti)
SHA-256: 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

SHA-256 Nasıl Çalışır?

SHA-256'nın tam matematiksel detayları karmaşık olsa da, algoritmanın veriyi nasıl işlediğine dair üst düzey bir genel bakış:

Adım 1: Mesaj Dolgusu (Padding)

Girdi mesajı, uzunluğu 512 bitin katı olacak şekilde doldurulur. Tek bir "1" biti, ardından "0" bitleri ve son olarak orijinal mesaj uzunluğu (64-bit tamsayı olarak) eklenir.

Adım 2: Bloklara Ayrıştırma

Doldurulmuş mesaj 512-bit (64-bayt) bloklara bölünür. Her blok sırasıyla sıkıştırma fonksiyonu üzerinden işlenir.

Adım 3: Hash Değerlerini Başlatma

Sekiz adet 32-bit çalışma değişkeni (H0-H7) belirli sabit değerlerle başlatılır. Bu sabitler ilk 8 asal sayının (2, 3, 5, 7, 11, 13, 17, 19) kareköklerinin kesirli kısımlarından türetilir.

Adım 4: Sıkıştırma Turları

Her 512-bit blok için algoritma 64 tur sıkıştırma işlemi gerçekleştirir. Her tur bit düzeyinde işlemler (AND, OR, XOR, NOT), modüler toplama ve sağa döndürme içerir.

Adım 5: Son Hash

Tüm bloklar işlendikten sonra, sekiz çalışma değişkeni birleştirilerek son 256-bit (32-bayt) hash değeri üretilir ve 64 karakterlik onaltılık dize olarak ifade edilir.

Örnek: "hello" kelimesinin SHA-256 hash'i:
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

SHA-256'nın Gerçek Dünya Kullanım Alanları

SHA-256 modern teknolojinin her yerindedir. İşte en önemli kullanım alanları:

Blockchain ve Bitcoin

SHA-256, Bitcoin'in ve birçok kripto para biriminin omurgasıdır. Bitcoin, madencilerin blok verileriyle birleştirildiğinde belirli sayıda sıfırla başlayan bir hash üreten bir nonce değeri bulmalarını gerektiren İş İspatı (Proof of Work) madencilik algoritmasında SHA-256 kullanır.

Parola Depolama

Parolaları düz metin olarak saklamak yerine (felaket bir güvenlik uygulaması), uygulamalar parolaların SHA-256 hash'ini depolar. Kullanıcı giriş yaptığında sistem girilen parolayı hash'ler ve saklanan hash ile karşılaştırır.

Önemli: Üretim ortamında parola depolama için bcrypt, scrypt veya Argon2 gibi tuzlama ve kasıtlı yavaşlık içeren özel algoritmalar kullanın. Düz SHA-256 parola hash'leme için çok hızlıdır ve gökkuşağı tablosu saldırılarına karşı savunmasızdır.

Dosya Bütünlüğü Doğrulama (Checksum)

Yazılım indirdiğinizde, web sitesi genellikle bir SHA-256 checksum sağlar. İndirdikten sonra dosyanın SHA-256 hash'ini hesaplayıp yayınlanan checksum ile karşılaştırabilirsiniz. Eşleşiyorsa dosyanın bozulmadığını veya değiştirilmediğini bilirsiniz.

Dijital İmzalar

Dijital imza algoritmaları (RSA ve ECDSA gibi) genellikle önce belgeyi SHA-256 ile hash'ler, sonra hash'i imzalar. Bu, belgenin tamamını imzalamaktan daha verimlidir ve aynı düzeyde güvenlik sağlar.

SSL/TLS Sertifikaları

Modern SSL/TLS sertifikaları, sertifika parmak izlerini oluşturmak ve sertifika zincirinin bütünlüğünü doğrulamak için SHA-256 kullanır. Tarayıcınızda kilit simgesini gördüğünüzde, SHA-256 arka planda bağlantınızı güvence altına almak için çalışıyordur.

SHA-256 ve Diğer Hash Algoritmaları

SHA-256 diğer popüler hash algoritmalarıyla nasıl karşılaştırılır? İşte ayrıntılı bir karşılaştırma:

Algorithm Output Size Security Speed Status
MD5 128-bit (32 hex) Broken Very Fast Deprecated
SHA-1 160-bit (40 hex) Broken Fast Deprecated
SHA-256 256-bit (64 hex) Secure Moderate Recommended
SHA-512 512-bit (128 hex) Secure Moderate Recommended

Neden MD5 veya SHA-1 Kullanılmamalı?

  • MD5 1991'de tasarlandı ve 128-bit hash üretir. 2004'te çarpışma saldırıları gösterildi ve artık pratik çarpışma saldırıları sıradan bir dizüstü bilgisayarda saniyeler içinde gerçekleştirilebilir.
  • SHA-1 160-bit hash üretir ve uzun yıllar standart olmuştur. Ancak Google, 2017'de pratik bir çarpışma saldırısı (SHAttered) göstermiştir. Büyük tarayıcılar ve sertifika otoriteleri SHA-1'i kullanımdan kaldırmıştır.
  • SHA-256 bilinen pratik bir güvenlik açığı yoktur. 2^256 olası çıktıyla, kaba kuvvet çarpışma saldırısı güneşin tüm ömrü boyunca üreteceğinden daha fazla enerji gerektirir.
  • SHA-512 daha fazla bit (512) sunar ve 64-bit sistemlerde biraz daha hızlıdır. Ancak SHA-256 neredeyse tüm güvenlik uygulamaları için yeterlidir.

SHA-256 Hash Oluşturucu Aracımızı Kullanma

Ücretsiz online SHA-256 aracımız, doğrudan tarayıcınızda anında hash oluşturmanızı sağlar:

Metin Modu

  1. Metninizi girin: Giriş alanına herhangi bir metin yazın veya yapıştırın.
  2. Anlık sonuç alın: Siz yazarken SHA-256 hash'i gerçek zamanlı olarak hesaplanır.
  3. Hash'i kopyalayın: Kopyala butonuna tıklayarak hash'i panonuza kopyalayın.

Dosya Modu

  1. Dosya seçin: Dosya yükleme alanına tıklayın veya herhangi bir dosyayı sürükleyip bırakın.
  2. Hash hesaplama: Dosya tamamen tarayıcınızda okunur ve SHA-256 hash'i yerel olarak hesaplanır. Hiçbir dosya verisi sunucuya yüklenmez.
  3. Bütünlüğü doğrulayın: Oluşturulan hash'i dosya kaynağı tarafından sağlanan checksum ile karşılaştırarak dosyanın değiştirilmediğini doğrulayın.
%100 İstemci Taraflı: Tüm hash hesaplamaları Web Crypto API kullanılarak tarayıcınızda gerçekleşir. Verileriniz cihazınızdan asla ayrılmaz.
SHA-256 Hash Oluşturucumuzu Deneyin

Metin veya dosyalardan anında SHA-256 hash oluşturun. Hiçbir veri sunucuya gönderilmez.