SHA-256 Hash Üreticisi

Herhangi bir metinden SHA-256 hash oluştur

Giriş Metni

Yerel olarak çalışır · Gizli bilgi yapıştırmak güvenlidir

SHA-256 Karma

SHA-256 hash burada görüntülenecek…

SHA-256 Hashing Nedir?

SHA-256 (Secure Hash Algorithm 256-bit), NIST tarafından 2001 yılında FIPS 180-2 kapsamında (sonradan FIPS 180-4 ile güncellenerek) yayımlanan SHA-2 ailesine ait bir kriptografik hash fonksiyonudur. Tek bir karakter, birkaç gigabaytlık bir dosya veya boş bir dize gibi herhangi bir giriş verildiğinde SHA-256, geleneksel olarak 64 onaltılık karakter biçiminde gösterilen sabit 256 bit (32 bayt) uzunluğunda bir özet üretir. SHA-256, üretim sistemlerinde bugün en yaygın kullanılan hash fonksiyonudur; TLS sertifika zincirleri, Bitcoin’in iş ispatı mekanizması, Subresource Integrity (SRI) ve kod imzalama süreçlerinin temelini oluşturur.

SHA-256 tek yönlü bir fonksiyondur: girişten hash hesaplamak hızlıdır (modern donanımda saniyede yüzlerce megabayt), ancak bu işlemi tersine çevirmek — belirli bir hash’i üreten girişi bulmak — hesaplama açısından imkânsızdır. Ön-görüntü direnci olarak adlandırılan bu özellik, SHA-256’yı parola hashleme (bir tuz ve anahtar gerdirme ile birlikte kullanıldığında), dijital imzalar ve veri bütünlüğü doğrulama için uygun kılar. MD5 ve SHA-1’in aksine, tam SHA-256’ya karşı herhangi bir çakışma veya ön-görüntü saldırısı henüz gösterilememiştir.

SHA-2 ailesi altı varyant içerir: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 ve SHA-512/256. SHA-256, 32 bitlik sözcükler üzerinde blok başına 64 turla çalışır ve 32 bitlik işlemciler için optimize edilmiştir. SHA-512 ise 64 bitlik sözcükler ve 80 tur kullanır; 64 bitlik platformlarda daha hızlı olabilir. 256 bitlik bir özetin yeterli olduğu çoğu uygulama için SHA-256, NIST, IETF ve CA/Browser Forum tarafından varsayılan öneri olmayı sürdürmektedir.

Neden Çevrimiçi SHA-256 Oluşturucu Kullanılır?

SHA-256 hash üretmek genellikle bir terminal komutu veya birkaç satır kod gerektirir. Bu tarayıcı tabanlı araç, hiçbir şey yüklemeden, bağlam değiştirmeden ya da betik yazmadan SHA-256 özetleri hesaplamanıza olanak tanır.

Tarayıcınızda Anında Hash
Herhangi bir metni yapıştırın veya yazın, SHA-256 özetini hemen alın. Web Crypto API hesaplamayı doğrudan yönetir — herhangi bir JavaScript kütüphanesi yükü olmadan.
🔒
Gizlilik Öncelikli İşleme
Girişiniz hiçbir zaman cihazınızı terk etmez. Tüm hashleme işlemleri tarayıcının yerleşik Web Crypto API’si aracılığıyla yerel olarak gerçekleşir. Hiçbir sunucuya veri iletilmez.
📋
Kopyalamaya Hazır Çıktı Biçimleri
Hash’i tek tıklamayla küçük veya büyük harf onaltılık biçimde alın. Paket yöneticilerinden, CI süreçlerinden veya belgelerden gelen sağlama toplamlarını eşleştirirken kullanışlıdır.
🔍
Referans Değerleri Çapraz Kontrol
Terminal açmadan veya tek kullanımlık kod yazmadan indirme sayfalarındaki, SBOM manifestlerindeki veya denetim günlüklerindeki SHA-256 özetlerini hızlıca doğrulayın.

SHA-256 Kullanım Senaryoları

Frontend Geliştirici — Subresource Integrity
CDN üzerinde barındırılan bir betik veya stil sayfasının SHA-256 hash’ini hesaplayarak script ve link etiketlerindeki integrity özniteliğini doldurun; böylece tedarik zinciri saldırılarına karşı koruma sağlayın.
Backend Mühendisi — API İstek İmzalama
Pek çok API (AWS Signature V4, Stripe webhook’ları) istek yüklerinin SHA-256 hash’lerini gerektirir. Geliştirme ve hata ayıklama sırasında referans hash’leri hesaplamak için bu aracı kullanın.
DevOps — Artefakt Doğrulama
Üretim altyapısına dağıtmadan önce indirilen ikili dosyaların, Docker temel görüntülerinin veya Terraform sağlayıcı eklentilerinin SHA-256 sağlama toplamlarını doğrulayın.
QA Mühendisi — Test Vektörü Doğrulama
Hash uygulamanızın sınır durumlarını doğru şekilde ele aldığını onaylamak için SHA-256 çıktılarını NIST test vektörleriyle (FIPS 180-4 örnekleri) çapraz kontrol edin.
Veri Mühendisi — Satır Düzeyinde Parmak İzi
Veri akışlarında tekilleştirme veya takma adlandırma amacıyla bileşik anahtarları veya kişisel veri alanlarını SHA-256 ile hashleyerek deterministik, geri döndürülemez parmak izleri oluşturun.
Öğrenci — Kriptografi Dersi
Çığ etkisini gözlemlemek için SHA-256 ile denemeler yapın: girişte tek bir karakteri değiştirin ve 64 karakterlik çıktının tamamının tahmin edilemez biçimde nasıl değiştiğini görün.

SHA-2 Ailesi Varyantları Karşılaştırması

SHA-256, FIPS 180-4’te tanımlanan SHA-2 ailesine aittir. Her varyant, özet boyutu, performans özellikleri ve güvenlik payı arasında farklı bir denge kurar. Aşağıdaki tablo, karşılaşmanız olası tüm SHA-2 varyantlarını karşılaştırmaktadır.

VaryantÖzet BoyutuOnaltılık UzunlukBayt BoyutuEn Uygun Kullanım
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-384384 bits96 hex chars48 bytesGovernment / CNSS, higher collision margin
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-256 vs. SHA-1 vs. MD5 vs. SHA-3

Doğru hash algoritmasını seçmek, güvenlik gereksinimlerinize ve uyumluluk kısıtlamalarınıza bağlıdır. SHA-256 pratik dengeyi sağlar: güvenlidir, Web Crypto API dahil evrensel destek görür ve çoğu iş yükü için yeterince hızlıdır. Aşağıdaki karşılaştırma tablosu, bir hash fonksiyonu seçerken en çok önem taşıyan özellikleri kapsamaktadır.

ÖzellikSHA-256SHA-1MD5SHA-3-256
Digest size256 bits (64 hex)160 bits (40 hex)128 bits (32 hex)256 bits (64 hex)
Security statusSecureBroken (2017)Broken (2004)Secure
Collision resistance2^128 operationsPractical attackPractical attack2^128 operations
Block size512 bits512 bits512 bits1600 bits (sponge)
Rounds64806424
StandardFIPS 180-4FIPS 180-4RFC 1321FIPS 202
Web Crypto APIYesYesNoNo
Primary use todayTLS, blockchain, SRILegacy git onlyNon-security checksumsBackup standard

SHA-256 İçeride Nasıl Çalışır?

SHA-256, girişi bir Merkle–Damgård yapısı üzerinden 512 bit (64 bayt) bloklar halinde işler. Algoritma, ilk sekiz asal sayının kareköklerinin kesirli kısımlarından türetilen sekiz adet 32 bitlik durum sözcüğünü (H0–H7) başlangıç değeri olarak ayarlar. Her blok, bit düzeyinde işlemler (AND, XOR, NOT, sağa döndürme, sağa kaydırma) ve ilk 64 asal sayının küp köklerinden türetilen 64 tur sabitini kullanan 64 karıştırma turundan geçer.

Input: "hello world"
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
(256 bits = 32 bytes = 64 hex characters)
AdımAçıklama
PaddingAppend a 1-bit, then zeros until the message length is 448 mod 512. Append the original message length as a 64-bit big-endian integer.
Block splittingDivide the padded message into 512-bit (64-byte) blocks.
Message scheduleExpand each 16-word (32-bit) block into 64 words using sigma functions with right-rotate and right-shift operations.
CompressionProcess 64 rounds per block using Ch, Maj, and two Sigma functions with 64 round constants derived from cube roots of the first 64 primes.
OutputConcatenate the eight 32-bit state words (H0-H7) into a 256-bit (32-byte) digest, rendered as 64 hexadecimal characters.

Çığ etkisi, girişte tek bir bitin çevrilmesinin çıktı bitlerinin yaklaşık %50’sini değiştirmesini sağlar. Bu özellik, 2^128 çakışma direnciyle birleşerek SHA-256’nın 2026’da güvenlik açısından kritik uygulamalar için temel öneri olmayı sürdürmesinin nedenidir.

SHA-256 Kod Örnekleri

SHA-256, her büyük programlama dilinde ve çalışma ortamında yerel olarak kullanılabilir. Web Crypto API, herhangi bir kütüphane gerektirmeksizin tarayıcılarda da sunar. Aşağıdaki örnekler, Unicode giriş işleme ve dosya hashleme dahil gerçek dünya kullanım kalıplarını göstermektedir.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha256(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-256', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha256('hello world')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha256').update('hello world').digest('hex')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
Python
import hashlib

# Basic SHA-256 hash
result = hashlib.sha256(b'hello world').hexdigest()
print(result)  # → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

# Hash a string (encode to bytes first)
text = 'café ☕'
hashlib.sha256(text.encode('utf-8')).hexdigest()
# → "3eb53e00aa1bb4b1e8aab1ab38e56e6b8fb0b20e1cf7e1d19f36e4fad2537445"

# Hash a file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha256()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := sha256.Sum256(data)
    fmt.Printf("%x\n", hash)
    // → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
}
CLI (Linux / macOS)
# Using sha256sum (Linux) or shasum (macOS)
echo -n "hello world" | sha256sum
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# macOS
echo -n "hello world" | shasum -a 256
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# Verify a file checksum
echo "b94d27b...  myfile.bin" | sha256sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha256
# → SHA2-256(stdin)= b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Sıkça Sorulan Sorular

SHA-256 hâlâ güvenli mi?
Evet. 2026 itibarıyla tam SHA-256’ya karşı pratikte geçerli herhangi bir çakışma, ön-görüntü veya ikinci ön-görüntü saldırısı bulunamamıştır. NIST, CA/Browser Forum ve IETF, TLS sertifikaları, kod imzalama ve dijital imzalar için SHA-256’yı önermeyi sürdürmektedir. Teorik çakışma direnci 2^128 işlem olup bu değer, mevcut hesaplama limitlerinin çok ötesindedir.
SHA-256 ile SHA-2 arasındaki fark nedir?
SHA-2, altı hash fonksiyonunu kapsayan aile adıdır: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 ve SHA-512/256. SHA-256 bu ailenin en yaygın kullanılan üyesidir. Belgeler "SHA-2 kullanın" dediğinde, daha uzun bir özet gerekmiyorsa neredeyse her zaman SHA-256 kastedilmektedir.
SHA-256 tersine çevrilebilir mi veya şifresi çözülebilir mi?
Hayır. SHA-256 tek yönlü bir hash fonksiyonudur, şifreleme değildir. Anahtar yoktur, şifre çözme işlemi de yoktur. Orijinal girişi bulmanın tek yolu, yeterince karmaşık girdiler için hesaplama açısından imkânsız olan kaba kuvvet veya sözlük saldırısıdır. Kısa veya tahmin edilebilir girdiler (yaygın parolalar gibi) için önceden hesaplanmış gökkuşağı tabloları mevcuttur; bu nedenle parola hashleme işlemi her zaman bir tuz ve bcrypt ya da Argon2 gibi özel bir anahtar türetme fonksiyonu (KDF) kullanmalıdır.
SHA-256’yı SHA-3 ile nasıl karşılaştırırsınız?
SHA-3 (Keccak, FIPS 202), SHA-256’dan (Merkle–Damgård) tamamen farklı bir iç yapı (sünger yapısı) kullanır. Hem SHA-256 hem de SHA-3-256, 256 bitlik özet üretir ve eşdeğer çakışma direnci sunar. SHA-3, SHA-2’nin kırılması ihtimaline karşı bir yedek olarak tasarlanmıştır; ancak SHA-2 hâlâ kırılmamıştır. SHA-256 daha geniş çalışma zamanı desteğine sahiptir — özellikle Web Crypto API, SHA-256’yı desteklerken SHA-3’ü desteklememektedir.
SHA-256 parola hashleme için uygun mudur?
Doğrudan değil. Ham bir SHA-256 parola hash’i, SHA-256’nın hızlı çalışmak üzere tasarlanmış olması nedeniyle kaba kuvvet ve gökkuşağı tablosu saldırılarına karşı savunmasızdır. Parola depolama için bcrypt, scrypt veya Argon2id gibi özel bir anahtar türetme fonksiyonu kullanın; bu fonksiyonlar saldırıları yavaşlatmak için tuz ve yapılandırılabilir bir iş faktörü ekler.
Bitcoin neden çift SHA-256 kullanır?
Bitcoin, blok başlıkları ve işlem kimlikleri için SHA-256(SHA-256(veri)) (hash256 olarak bilinir) hesaplar. Çift uygulama, uzunluk uzatma saldırılarına karşı koruma sağlar; bu saldırılarda bir saldırgan, orijinal girişi bilmeden mesaja veri ekleyerek geçerli bir hash hesaplar. Bu, tek geçişli SHA-256’nın engelleyemediği Merkle–Damgård hashlerinin bir özelliğidir.
Subresource Integrity (SRI) nedir ve SHA-256 ile ilişkisi nedir?
SRI, tarayıcıların indirilen bir kaynağın (betik, stil sayfası) değiştirilip değiştirilmediğini doğrulamasına olanak tanıyan bir W3C özelliğidir. Beklenen dosya içeriğinin Base64 ile kodlanmış SHA-256 (veya SHA-384/SHA-512) hash’ini içeren bir integrity özniteliği eklersiniz. Tarayıcı, indirilen dosyanın hash’ini hesaplar ve hash’ler eşleşmezse dosyayı çalıştırmayı reddeder. SHA-256, SRI tarafından desteklenen minimum algoritmadır.