SHA-256 nedir?
SHA-256, NIST tarafından standartlaştırılan SHA-2 kriptografik hash fonksiyonları ailesinin bir üyesidir. Herhangi bir uzunluktaki girdi mesajını alır ve sabit 256 bitlik (32 baytlık) bir özet üretir; burada bu özet 64 onaltılık karakter olarak gösterilir. Aynı girdi her zaman aynı özeti verirken, tek bir karakterlik değişiklik bile tamamen farklı bir çıktı oluşturur (çığ etkisi). SHA-256; TLS sertifikalarında, dijital imzalarda, blok zincirinde (Bitcoin) ve dosya bütünlüğü kontrollerinde yaygın olarak kullanılır.
Bu hesaplayıcı nasıl kullanılır?
Giriş kutusuna herhangi bir metni yazın veya yapıştırın ve gönderin. Hesaplayıcı metninizi UTF-8 olarak kodlar, SHA-256 algoritmasını çalıştırır ve onaltılık özeti girdinin bayt uzunluğuyla birlikte döndürür. Boş bir girdi de geçerlidir ve bilinen boş dize özetini üretir.
Formülün açıklaması
SHA-256, mesajı uzunluğu 512 bitin katı olacak şekilde doldurur, 512 bitlik bloklara böler ve her bloğu bit düzeyinde işlemlerle (döndürmeler, kaydırmalar, AND/XOR, modüler toplama) 64 turdan geçirir; bu süreçte asal sayıların kareköklerinin ondalık kısımlarından türetilen sekiz adet 32 bitlik çalışma değişkeni karıştırılır. Her bloğun ardından sekiz yazmaç, çalışmakta olan hash durumuna geri eklenir; bunların birleştirilmesi nihai 256 bitlik özeti verir.
$$\text{Hash} = \operatorname{SHA\text{-}256}\!\left(\text{Input Text}\right)$$
Örnek uygulama
abc girdisi (3 bayt) şu özeti üretir: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad. Boş dize ise e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 değerini üretir — bu standart bir test vektörüdür.
Sıkça Sorulan Sorular
SHA-256 geri çevrilebilir mi? Hayır. Tek yönlü bir fonksiyondur; özetten girdiyi geri elde edemezsiniz.
Bayt sayım neden karakter sayımdan fazla? ASCII dışı karakterler (aksanlar, emoji, Çince/Japonca/Korece karakterler) UTF-8'de birden fazla bayt kaplar; bu nedenle bayt uzunluğu karakter sayısını aşabilir.
SHA-256 hâlâ güvenli mi? Evet. Bugün itibarıyla SHA-256'ya karşı pratik bir çakışma (collision) veya ön görüntü (preimage) saldırısı bulunmamaktadır; genel kullanım için önerilen bir hash olmaya devam etmektedir.