Skip to content

SHA-1 Özet Üretici (160-bit Eski Algoritma)

SHA-1 özetlerini tarayıcınızda üretin — 40 karakterlik hex çıktısı, yükleme yok. Git parmak izleri, eski sertifika kontrolleri ve taşıma denetimleri için eski araç. Veriler cihazınızdan ayrılmaz.

Takip Yok Tarayıcıda Çalışır Ücretsiz
⚠️ SHA-1 eski bir algoritmadır. Yeni çalışmalar için SHA-256 kullanın. Tüm özetleme yerel olarak çalışır — hiçbir veri sunucuya iletilmez.
Algoritma
NIST FIPS 180-1 test vektörlerine karşı SHA-1 doğruluğu için incelendi; kullanımdan kaldırma çerçevesi NIST SP 800-131A'ya karşı doğrulandı — Go Tools Mühendislik Ekibi · May 28, 2026

SHA-1 Nedir?

SHA-1 (Secure Hash Algorithm 1), NIST tarafından 1995 yılında FIPS 180-1 olarak yayımlanan 160-bit kriptografik özet fonksiyonudur. NSA tarafından SHA-0'ın (1993'te hızla geri çekilen kusurlu bir önceki sürümün) yerini almak üzere tasarlanmış; 2000'li yıllar boyunca dijital imzalar, TLS sertifikaları ve kod imzalama için baskın özet algoritması olmuştur.

Kırılma tarihi: 2005 yılında Xiaoyun Wang'ın ekibi, SHA-1 karma çarpışma direncini beklenen 2^80 işlemden 2^63 işleme düşüren teorik bir saldırı yayımladı — teorik bir kırılmaydı, henüz pratik değil. Şubat 2017'de Google ve CWI Amsterdam, yaklaşık 110 GPU-yılı hesaplama kullanarak özdeş SHA-1 özetine sahip iki farklı PDF belgesi üreten SHAttered saldırısını yayımladı. Bu, kesin pratik kırılmaydı. NIST, SHA-1'i imzalar için 2011'de kullanımdan kaldırmıştı (NIST SP 800-131A); tarayıcı üreticileri ve Sertifika Otoriteleri 2016-2017'de SHA-1 sertifika desteğini kaldırdı.

Mevcut durum: SHA-1 tüm güvenlik açısından hassas kullanımlar için kullanım dışıdır — dijital imzalar, sertifika parmak izleri, parola saklama ve kod imzalama. İçerik adresleme yerine güvenlik için değil kullanıldığı Git'in nesne kimliği formatında ve yöneticilerin henüz taşımadığı eski yazılım sağlama toplamlarında varlığını sürdürmektedir. Git projesi sürüm 2.29'da (Ekim 2020) SHA-256 nesne format desteği ekledi. Tüm yeni projeler SHA-256 veya daha güçlü bir algoritma kullanmalıdır.

Bu araç SHA-1'i tamamen tarayıcınızda Web Crypto API'nin crypto.subtle.digest('SHA-1', ...) fonksiyonuyla hesaplar. 40 karakterlik hex çıktısı, sha1sum, openssl dgst -sha1 veya git hash-object'in ürettiğiyle aynıdır.

// Hash text using Web Crypto API (SHA-1 — legacy use only)
async function sha1(text) {
  const data = new TextEncoder().encode(text);
  const hash = await crypto.subtle.digest('SHA-1', data);
  return Array.from(new Uint8Array(hash))
    .map(b => b.toString(16).padStart(2, '0'))
    .join('');
}

await sha1('Hello, World!');
// → '0a0a9f2a6772942557ab5355d76af442f8f65e01'
// ⚠️ SHA-1 is broken — use SHA-256 for new work.

SHA-1 Örnekleri

Git işlem parmak izini arama

tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
author A Dev <dev@example.com> 1716854400 +0000
committer A Dev <dev@example.com> 1716854400 +0000

Initial commit

Git her işlemi, SHA-1'in işlem başlığından artı içerikten tam bu biçimde hesaplandığı bir nesne olarak saklar. `git log`'un gösterdiği 40 karakterlik hex karakter dizisi doğrudan bir SHA-1 parmak izidir. `git cat-file` çıktısını hata ayıklarken veya bir yansıtma deposunun tarihi kurcalamadığını doğrularken aynı özeti yeniden oluşturmak için ham işlem nesnesi metnini buraya yapıştırın. Not: Git 2.29+ SHA-256 modunu destekler (git init --object-format=sha256) ve GitHub'ın nesne deposu nihayetinde taşınacaktır.

Eski TLS sertifika parmak izini doğrulama

-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAKlL...
-----END CERTIFICATE-----

2017 öncesinde tarayıcılar sertifika parmak izlerini 40 karakterlik SHA-1 hex karakter dizileri olarak görüntülüyordu. Sertifika Otoriteleri Ocak 2016'da SHA-1 imzalı sertifika yayımlamayı durdurdu ve tüm büyük tarayıcılar 2017'nin başında desteği kaldırdı. Eski bir dahili sertifikayı denetliyor veya eski bir IoT cihazını doğruluyorsanız, karşılaştırma için SHA-1 parmak izini yeniden oluşturmak amacıyla PEM gövdesini buraya yapıştırın. Modern iş akışları bunun yerine 64 karakterlik SHA-256 parmak izini kullanır.

Eski yazılım indirme doğrulaması

node-v0.12.7-linux-x64.tar.gz

Bazı eski yazılım arşivleri hâlâ yalnızca SHA-1 sağlama toplamı yayımlamaktadır. Bu temel bozulma tespiti sağlar (kurcalama tespiti değil) ve hiç sağlama toplamı olmamaktan yine de iyidir. Arşivi bırakmak, SHA-1'i hesaplamak ve ardından yayıncının gönderdiği değerle karşılaştırmak için Dosya sekmesini kullanın. SHA-256 de mevcutsa her zaman onu tercih edin.

SHAttered karma çarpışma gösterimi

(Google/CWI shattered-1.pdf dosyasının içeriğini Dosya sekmesiyle yapıştırın)

Şubat 2017'de Google ve CWI Amsterdam SHAttered saldırısını yayımladı — ilk pratik SHA-1 karma çarpışması. Aynı SHA-1 değerini üreten iki farklı PDF dosyası (shattered-1.pdf ve shattered-2.pdf) ürettiler: 38762cf7f55934b34d179ae6a4c80cadccbb7f0a. Bu PDF'lerden birini bu aracın Dosya sekmesine bırakmak tam olarak bu özeti üretir ve karma çarpışmanın gerçek olduğunu kanıtlar. SHA-1'in neden kırıldığının en açık kanıtıdır: aynı parmak izine sahip iki farklı belge, parmak izinin artık güvenilir bir kimlik olmadığı anlamına gelir.

SHA-1 Özeti Nasıl Üretilir

  1. 1

    Metin yazın veya dosya bırakın

    Metin sekmesini seçin ve herhangi bir karakter dizisi — bir işlem mesajı, sertifika gövdesi veya eski sağlama toplamı girdisi — yapıştırın. SHA-1 özeti siz yazarken güncellenir. Dosyalar için Dosya sekmesine geçin ve herhangi bir dosyayı bırakma alanına sürükleyin; tarayıcı dosyayı yükleme yapmadan yerel olarak özetler.

  2. 2

    40 karakterlik özeti kopyalayın

    Özet çıktısının yanındaki Kopyala düğmesine tıklayın. 40 karakterlik tam küçük harf hex karakter dizisi panonuza gider. Eski sisteminiz büyük harf hex bekliyorsa Büyük Harf geçişini kullanın — bazı eski araçlar ve Windows API'leri büyük harf varsayımında bulunur.

  3. 3

    Eski parmak izine karşı karşılaştırın

    Karşılaştır sekmesine geçin ve iki SHA-1 özetini yan yana yapıştırarak eşleşip eşleşmediklerini doğrulayın. Eski yayıncı sağlama toplamını doğrulamak, yansıtılmış bir Git deposunu denetlemek veya SHA-256 benimsemesinden önceki bir belgeden eski TLS sertifika parmak izini kontrol etmek için kullanışlıdır.

Teknik Ayrıntılar

Algoritma: Merkle-Damgård yapısı, 80 tur
SHA-1 girdiyi 512-bitlik (64 baytlık) bloklarda işler; her biri farklı mantıksal fonksiyon (Ch, Parity, Maj, Parity) ve küçük tamsayıların kareköklerinden türetilen eklemeli sabit içeren dört 20-turlu aşamada gruplandırılmış 80 tur bitsel işlem uygular. İlk özet durumu beş 32-bit sözcüktür (A–E). Uygulama FIPS 180-1 (1995) ile tanımlanmış, resmi kullanımdan kaldırma diliyle birlikte FIPS 180-4 (2015) ile değiştirilmiştir.
Çıktı: 160 bit, 40 hex karakter
Her zaman tam olarak 40 küçük harf onaltılık karakterdir (160 bit = 20 bayt, bayt başına 2 hex karakter olarak kodlanmış). Çıktı uzunluğu girdi boyutundan bağımsız olarak sabittir. SHA-256'nın 64 karakteriyle karşılaştırıldığında, daha kısa çıktı daha az karma çarpışma direnci bit sağlar — SHA-1'in SHA-256'dan önce kırılmasının temel nedenlerinden biri.
Performans: hızlı, ancak bu sorunun bir parçası
SHA-1 hızlıdır — Web Crypto kullanan bir tarayıcıda tipik olarak 400-700 MB/s, SHA-256 ile rekabet edebilir düzeyde. Bir saldırgan için bu hız bir avantajdır: modern bir GPU kümesi saniyede milyarlarca SHA-1 özeti hesaplayarak kaba kuvvet ve karma çarpışma aramalarını hızlandırır. Hız, SHA-1'in (tıpkı MD5 gibi) parola saklama için asla kullanılmaması gerektiğinin nedenidir — bunun yerine bcrypt, scrypt veya Argon2 kullanın.
Standartlar: FIPS 180-1 (1995) — FIPS 180-4 bağlamında kullanımdan kaldırıldı
SHA-1, kusurlu SHA-0'ın yerini alarak FIPS 180-1 (1995) ile standartlaştırıldı. NIST, SHA-1'i dijital imzalar için NIST SP 800-131A (2011) ile kullanımdan kaldırdı ve FIPS 186-5 (2023) ile tüm dijital imza oluşturmaları için resmi olarak yasakladı. W3C WebCrypto API, eski birlikte çalışabilirlik nedenleriyle hâlâ SHA-1'i içeriyor; bu nedenle bu tarayıcı aracı onu hesaplayabiliyor.

En İyi Uygulamalar

SHA-1'i güvenlik açısından hassas işlemlerde kesinlikle kullanmayın
SHA-1, dijital imzalar, TLS sertifikaları, kod imzalama, parola saklama ve karma çarpışma direncinin önem taşıdığı her iş akışı için kullanım dışıdır. 2017 SHAttered saldırısı pratik karma çarpışmaları gösterdi. Tüm güvenlik kullanımları için SHA-256 veya SHA-3'e taşıyın. Maliyet farkı modern donanımda ihmal edilebilir düzeydedir — SHA-256 tüm mevcut CPU'larda donanım hızlandırmalıdır.
Eski parmak izi araması için SHA-1 kullanımı kabul edilebilir
2017 öncesi bir dosya sağlama toplamını doğrulamanız, bir Git işlem kimliği aramanız veya denetim amacıyla eski bir sertifika parmak izini incelemeniz gerekiyorsa SHA-1 uygundur. Özet kendisi bir güven kararı vermek için kullanılmıyor — yalnızca çapraz referans için bilinen bir parmak izi yeniden üretiliyor. Denetim günlüklerinizde bunu açıkça belgeleyin.
Her zaman Unicode kod noktaları değil UTF-8 baytları özetleyin
SHA-1, tüm özet algoritmaları gibi karakterler üzerinde değil baytlar üzerinde çalışır. UTF-8 ile UTF-16 olarak kodlanmış aynı karakter dizisi farklı özetler üretir. Bu araç, özetleme öncesinde girdiyi BOM olmadan UTF-8 olarak kodlar. Farklı bir kodlama kullanan bir sistemle eşleştirmeniz gerekiyorsa, özetleri karşılaştırmadan önce girdiyi harici olarak önceden kodlamanız gerekir.
Kodda özetleri doğrularken sabit zamanlı karşılaştırma kullanın
Kodda iki SHA-1 özeti karşılaştırıyorsanız sabit zamanlı eşitlik kontrolü kullanın — Node.js'te crypto.timingSafeEqual(), Python'da hmac.compare_digest() — naif karakter dizisi eşitliği (=== veya ==) yerine. Naif karşılaştırma, teorik olarak bir saldırganın beklenen özeti bayt bayt yeniden oluşturmasına olanak tanıyan zamanlama bilgisi sızdırır.

SHA-1 SSS

SHA-1 hâlâ güvenli mi?
Hayır. SHA-1 teorik olarak 2005'te zayıflatıldı; Şubat 2017'de Google ve CWI Amsterdam SHAttered saldırısıyla pratik ilk karma çarpışmayı gösterdi — özdeş SHA-1 özetine sahip iki farklı PDF dosyası. NIST, SHA-1'i dijital imzalar için 2011'de kullanımdan kaldırdı (NIST SP 800-131A) ve tüm büyük tarayıcılar ile Sertifika Otoriteleri 2017'de SHA-1 sertifikalarını kabul etmeyi bıraktı. SHA-1, güvenlik açısından hassas herhangi bir kullanım için kırılmıştır: imzalar, sertifikalar, parola saklama. Tüm yeni çalışmalar için SHA-256'ya geçin.
Git neden hâlâ SHA-1 kullanıyor?
Git nesne kimlikleri (işlem özetleri, ağaç özetleri, blob özetleri) için SHA-1 kullanır; çünkü 2005'te SHA-1'in hâlâ yaygın olarak güvenildiği dönemde tasarlandı. Git'in kullanımı kriptografik bir imza değildir — kasıtlı kurcalamayı değil kazara bozulmayı tespit etmek için kullanılan bir içerik adresli depolama şemasıdır. Git projesi 2020'de --object-format=sha256 desteği ekleyen Git 2.29'dan bu yana taşınmaktadır. GitHub ve büyük depolar SHA-256 modunu kademeli olarak kullanıma sunmaktadır. Mevcut depolar dönüştürülebilir, ancak milyarlarca mevcut işlem kimliği nedeniyle taşıma karmaşıktır.
SHA-1'den SHA-256'ya geçmeli miyim?
Evet, güvenlik açısından hassas herhangi bir sistem için. Somut taşıma kontrol listesi: (1) TLS sertifikaları — hâlâ SHA-1 imzalı sertifikanız varsa hemen değiştirin. (2) API imzaları ve HMAC'ler — HMAC-SHA-256 ile değiştirin. (3) SHA-1 olarak saklanan parola özetleri — bcrypt veya Argon2'ye taşıyın. (4) Belge veya paket sağlama toplamları — SHA-1'in yanında veya yerine SHA-256 ile yeniden yayımlayın. (5) Git depoları — araç zinciriniz destekliyorsa yeni depolar için SHA-256 modunu etkinleştirin.
SHAttered saldırısı neydi?
SHAttered (shattered.io, Şubat 2017), Google Security ve CWI Amsterdam tarafından üretilen pratik bir SHA-1 karma çarpışmasıydı. Saldırı yaklaşık 110 GPU-yılı hesaplama (~2017 bulut fiyatlarıyla yaklaşık 110.000 USD) gerektirdi ve aynı SHA-1 özetini üreten iki ayrı PDF dosyası ortaya çıkardı: 38762cf7f55934b34d179ae6a4c80cadccbb7f0a. Bu, SHA-1 karma çarpışmalarının yalnızca teorik olduğu varsayımını yıktı. Saldırı, SHA-1'in sıkıştırma fonksiyonundaki diferansiyel bir yolu kullanır. 2020'ye gelindiğinde, seçilmiş önek SHA-1 karma çarpışmasının maliyeti yaklaşık 45.000 USD'ye düşmüştü.
SHA-1 karma çarpışmaları kazara gerçekleşebilir mi?
Kasıtlı çaba olmadan kazara SHA-1 karma çarpışmasına rastlamak hâlâ astronomik derecede düşük olasılıklıdır — 2^160 olası SHA-1 değeri vardır; bu nedenle herhangi iki girdi için rastgele karma çarpışma olasılığı yaklaşık 1/10^24'tür. Tehlike düşmanca bir aktörden gelir: kararlı bir saldırgan artık yaklaşık 45.000 USD karşılığında karma çarpışma oluşturabilir. Git geçmişinin kazara bozulması SHA-1 zayıflığından gerçekçi bir tehdit değildir. Gerçek risk, dijital imzalı belgelerde, sertifikalarda ve kod imzalama iş akışlarında yatmaktadır.
SHA-1, sağlama toplamları gibi güvenlik dışı kullanımlar için uygun mu?
Kazara veri bozulmasını tespit etmek için — bozulmuş bir indirme, diskte ters çevrilmiş bir bit — SHA-1 teknik olarak hâlâ yeterlidir, çünkü kazara karma çarpışmalar hâlâ özünde imkânsızdır. Ancak bugün güvenlik dışı sağlama toplamları için bile SHA-1 kullanmak için pek sebep yoktur, çünkü SHA-256 yalnızca marjinal düzeyde daha yavaştır (tüm modern CPU'larda donanım hızlandırmalıdır), her yerde desteklenir ve geleceğe hazırdır.
SHA-1 özeti ne kadar uzundur?
SHA-1 özeti her zaman tam olarak 160 bittir; 40 onaltılık karakter olarak temsil edilir (bayt başına 2 hex karakter × 20 bayt). Çıktı uzunluğu, girdi boyutundan bağımsız olarak sabittir — tek bir karakter veya 10 GB'lık bir dosya da tam olarak 40 hex karakter üretir. Karşılaştırma: MD5 32 hex karakter (128 bit), SHA-256 64 hex karakter (256 bit) ve SHA-512 128 hex karakter (512 bit) üretir.
Girdi verilerim sunucuya gönderiliyor mu?
Hayır. SHA-1, Web Crypto API (crypto.subtle.digest('SHA-1', data)) kullanılarak tamamen tarayıcınızda hesaplanır. Özetleme sırasında Geliştirici Araçları → Ağ sekmesini açın — sıfır giden istek göreceksiniz. Bıraktığınız dosyalar FileReader API aracılığıyla okunur ve yerel olarak özetlenir; baytlar asla cihazınızdan ayrılmaz. Bu araç gizli belgeler, eski sertifikalar veya özel kaynak kodu parmak izleri için güvenlidir.
SHA-1 çıktım komut satırındaki sha1sum'dan neden farklı?
Neredeyse her zaman sondaki satır sonu nedeniyledir. `echo 'hello' | sha1sum` gibi kabuk komutu bir satır sonu (\n) içerir; bu yüzden 'hello\n' özetlenir, 'hello' değil. Kaldırmak için `echo -n 'hello' | sha1sum` veya `printf '%s' 'hello' | sha1sum` kullanın. Diğer yaygın nedenler: Windows satır sonları (\r\n veya \n), dosyanın başındaki UTF-8 BOM veya kodlama farkları (UTF-8 ve Latin-1). Bu araç, özetleme öncesinde girdiyi BOM olmadan UTF-8 olarak kodlar.

JWT Çözücü

Güvenlik Araçları

Ücretsiz JWT çözücümüzle JWT token'larını online çözün. header, payload, signature, son kullanma, algoritma ve claim'leri anında inceleyin. %100 tarayıcıda çalışır — token'ınız cihazınızdan ayrılmaz. Kayıt yok, izleme yok.

MD5 Özet Üretici ve Dosya Sağlama Aracı

Güvenlik Araçları

MD5, SHA-256, SHA-1 ve SHA-512 özetlerini online ücretsiz üretin. Tarayıcınızda metin veya dosya özeti alın, sağlama değerlerini doğrulayın ve sonuçları kopyalayın. Kayıt gerekmez.

Rastgele Şifre Üretici — Özelleştirilebilir ve Güvenli

Güvenlik Araçları

Anında güçlü rastgele şifreler üretin — ücretsiz, %100 tarayıcınızda. Uzunluk ve karakterleri özelleştirin, entropi analiziyle 50'ye kadar toplu üretim.

SHA-256 Özet Üretici ve Sağlama Aracı

Güvenlik Araçları

SHA-256 özetlerini ücretsiz üretin. Metin veya dosyaları tarayıcınızda özetleyin, sağlama toplamlarını doğrulayın, 64 karakterlik hex çıktısını kopyalayın. Kayıt gerekmez; veriler sayfadan ayrılmaz.

SHA-3 Özet Üretici (Keccak SHA3-256)

Güvenlik Araçları

SHA-3 özetlerini ücretsiz üretin. NIST FIPS 202 sünger yapısı — SHA-2 sonrası standart. SHA3-256 çıktısı 64 hex karakter. Geç yüklenen js-sha3 aracılığıyla yalnızca tarayıcıda; sıfır yükleme.

SHA-384 Özet Üretici (TLS Suite B Özeti)

Güvenlik Araçları

SHA-384 özetlerini üretin — 96 karakterlik hex çıktısı, uzunluk-uzatma saldırısına bağışık, NSA Suite B uyumlu. TLS'de AES-256-GCM ile eşleştirilir. Web Crypto API aracılığıyla tüm özetleme tarayıcınızda çalışır.