简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// checksum utility
CRC32Sağlama Toplamı Aracı
YALNIZCA İSTEMCİ TARAFI
VERİ AKTARILMADI
🔵Tüm hesaplamalar yürütülüryerel olarak tarayıcınızda. Hiçbir sunucuya veri yüklenmez. CRC-32/ISO-HDLC, CRC-32C, CRC-32/MPEG-2 ve CRC-32/BZIP2 çeşitlerini destekler.
Hesaplama Ayarları
CRC Değişkeni ↗
Giriş Kodlaması ↗
Çıktı Formatı ↗
Veri Girişi
Buraya bir dosya bırakın
Ready - verileri girin ve "CRC32'yi Hesapla"ya tıklayın
Hesaplama Sonuçları
ISO-HDLC
Castagnoli
MPEG-2
BZIP2
Sağlama Toplamı Doğrulaması
Geçerli hesaplamayla karşılaştırmak için beklenen bir CRC32 değerini yapıştırın.
Giriş Baytları
0
Toplam Hesaplamalar
0
Mevcut Varyant
ISO-HDLC
Geçen (ms)
// CRC32 Variant Guide
CRC Çeşitleri
CRC-32 / ISO-HDLCPKZip · PNG · Ethernet
En yaygın CRC-32 uygulaması, aynı zamanda CRC-32b olarak da adlandırılır. 0x04C11DB7 polinomunun yansıtılmış formunu, yani 0xEDB88320'yi kullanır. Hem giriş baytları hem de çıkış, başlangıç ​​değeri ve son XOR'un her ikisi de 0xFFFFFFFF olarak ayarlanarak bit olarak yansıtılır (önce LSB).

ZIP, gzip, PNG görüntüleri, Ethernet çerçeveleri (IEEE 802.3), PKCS#7 ve birçok eski sistem tarafından yaygın olarak kullanılır. Bu fiili "varsayılan CRC-32" çeşididir.
Polinom0x04C11DB7(normal) /0xEDB88320(yansıyan)
Başlangıç Değeri0xFFFFFFFF
Giriş YansımasıEvet (RefIn = doğru)
Çıktı YansımasıEvet (RefOut = doğru)
Son XOR0xFFFFFFFF
Değeri Kontrol Et0xCBF43926("123456789" için)
CRC-32C / CastagnoliiSCSI · NVMe · SCTP
G. Castagnoli ve meslektaşları tarafından 1993'te önerilen bu değişken, 0x1EDC6F41 polinomunu kullanır (yansıyan form 0x82F63B78). Aynı Hamming mesafesinde, ISO-HDLC polinomundan daha güçlü patlama hatası tespiti sunar.

Donanım hızlandırma, Intel SSE4.2 ve ARM CRC32 talimatları aracılığıyla sağlanır. iSCSI, NVMe, Btrfs ve SCTP gibi modern depolama ve taşıma protokollerinde yaygın olarak kullanılır.
Polinom0x1EDC6F41(normal) /0x82F63B78(yansıyan)
Başlangıç Değeri0xFFFFFFFF
Giriş YansımasıEvet (RefIn = doğru)
Çıktı YansımasıEvet (RefOut = doğru)
Son XOR0xFFFFFFFF
Değeri Kontrol Et0xE3069283("123456789" için)
CRC-32 / MPEG-2MPEG-2 · DVB · ATSC
ISO-HDLC ile aynı 0x04C11DB7 polinomunu kullanır, ancak ne giriş ne de çıkışbit yansımalı(önce MSB, büyük uç). Başlangıç değeri 0xFFFFFFFF'dir ve son XOR devre dışı bırakılır (XorOut = 0x00000000).

Temel olarak MPEG-2 taşıma akışlarındaki (PAT, PMT, NIT ve ilgili tablolar) PSI/SI tabloları ve ayrıca DVB ve ATSC yayın sistemlerindeki bütünlük kontrolleri için kullanılır.
Polinom0x04C11DB7
Başlangıç Değeri0xFFFFFFFF
Giriş YansımasıHayır (RefIn = yanlış)
Çıktı YansımasıHayır (RefOut = yanlış)
Son XOR0x00000000(devre dışı)
Değeri Kontrol Et0x0376E6E7("123456789" için)
CRC-32 / BZIP2BZip2 · AAL5 · DECT
Parametreleri MPEG-2 ile neredeyse aynıdır (polinom 0x04C11DB7, yansıma yok, başlangıç ​​değeri 0xFFFFFFFF). Tek fark birson XOR, 0xFFFFFFFF ile, her biti çevirir. CRC-32/AAL5 veya CRC-32/DECT-B olarak da bilinir.

BZip2 sıkıştırılmış dosya formatı ve ATM AAL5 protokolünün fragman sağlama toplamı alanı tarafından kullanılır.
Polinom0x04C11DB7
Başlangıç Değeri0xFFFFFFFF
Giriş YansımasıHayır (RefIn = yanlış)
Çıktı YansımasıHayır (RefOut = yanlış)
Son XOR0xFFFFFFFF
Değeri Kontrol Et0xFC891918("123456789" için)
// Input Encoding Guide
Giriş Kodlaması
UTF-8 MetniVarsayılan · Genel
Girişi bir veri olarak ele alır.UTF-8string, bunu bayta dönüştürür ve ardından CRC32'yi hesaplar. Bu, düz metin, kaynak kodu, JSON ve benzeri içerik için en yaygın moddur.

Not: GBK veya UTF-16 gibi farklı bir karakter seti ile kodlanan aynı metin, farklı bir bayt akışı ve dolayısıyla farklı bir CRC32 değeri üretir. Bu araç her zaman UTF-8 kullanır.
En İyisiDüz metin, kaynak kodu, JSON, XML
Örnek"Merhaba" →48 65 6C 6C 6F(5 bayt)
CJK KarakterleriÇoğu CJK karakteri UTF-8'de 3 bayt kullanır
Onaltılıİkili Veri · Protokol Çerçeveleri
Girdiyi ham olarak kabul ederonaltılı bayt değişmezleri. Boşluklar ve satır sonları dikkate alınmaz. Her iki onaltılık karakter bir bayt olur (00–FF).

Ağ çerçeveleri, donanım yazılımı görüntü parçaları veya bellek dökümleri gibi tam ikili veriler için CRC kontrollerine ihtiyaç duyduğunuzda kullanışlıdır. Wireshark veya hex dump çıktısını doğrudan yapıştırabilirsiniz.
BiçimYalnızca0-9vea-f / A-Fizin verilir
Karakter SayısıÇift olmalıdır (bayt başına 2 karakter)
Örnek48656C6C6F= "Merhaba" (5 bayt)
BoşlukOtomatik olarak yoksayıldı.48 65 6Caynıdır48656C
Base64Kodlanmış İkili Program · Sertifikalar · Resimler
Girişi bir veri olarak ele alır.Base64 kodlu dize, kodunu ham baytlara dönüştürür ve ardından CRC32'yi hesaplar. PEM sertifikaları, JWT yükleri, Veri URI'leri ve diğer Base64 içeriği için kullanışlıdır.

Standart Base64 alfabesini destekler (A-Z a-z 0-9 + /). Dolgu karakteri=isteğe bağlıdır. URL güvenli Base64 (-_) desteklenmiyor.
AlfabeA-Z a-z 0-9 + / =
ÖrnekSGVsbG8=→ "Merhaba" (5 bayt)
URL-güvenliDesteklenmiyor. Değiştir-→+ve_→/ilk
⚠ 1 KarakterGeçersiz — 1 bayt oluşturmak için 6 bit yeterli değil (8 bit gerekli)
2 KarakterlerŞifreyi çözer1 bayt(minimum geçerli giriş)
3 KarakterlerŞifreyi çözer2 bayt
4 KarakterlerŞifreyi çözer3 bayt(desen her 4 karakterde bir tekrarlanır)
// Output Format Guide
Çıktı Formatı
OnaltılıEn Yaygın · Varsayılan
Değeri, önüne şunun geldiği 8 basamaklı büyük harfli onaltılık sayı olarak görüntüler:0x. Her karakter, toplam 32 bit olmak üzere 4 biti temsil eder. Bu, çoğu araçta, kaynak kodunda ve dokümantasyonda kullanılan standart formattır.

Ondalık çıktıyla karşılaştırıldığında, onaltılık sayı, bayt sınırlarının incelenmesini kolaylaştırır ve bellek dökümleri ile protokol alanlarını daha doğal bir şekilde eşleştirir.
Örnek0xCBF43926
Uzunluk8 onaltılık karakterler = 32 bit
TabanTemel 16 (0-9, A-F)
En İyisiKod, dokümantasyon, Wireshark, hex editörleri
Ondalıkİmzasız 32 bit Tamsayı
Sağlama toplamını birişaretsiz 32 bit ondalık tamsayı0–4,294,967,295 (2³²−1) aralığında. Bazı diller ve araçlar CRC değerlerini ondalık biçimde karşılaştırır ve veritabanı alanları genellikle bu gösterimi saklar.

Not: CRC32 sonuçları işaretsiz tamsayılar olarak ele alınmalıdır. Java veya C# gibi imzalı int türlerinde, 0x7FFFFFFF'nin üzerindeki değerler negatif görünebilir ve uint'e veya daha geniş bir imzasız temsile dönüştürülmelidir.
Örnek3421780262
Aralık0–4,294,967,295
NotJava int için şununla dönüştürün:& 0xFFFFFFFFL
En İyisiVeritabanları, Python yapı değerleri, sayısal karşılaştırma
İkiliBit Seviyesi Analizi
Sağlama toplamını, ön eki 32 bitlik bir ikili dize olarak görüntüler.0b. Her karakter 0 veya 1'dir, soldaki en anlamlı bitle hizalanır ve gerektiğinde baştaki sıfırlarla doldurulur.

Temel olarak dahili CRC algoritmasını anlamak, polinom bölmeyi incelemek, öğretmek ve bit düzeyinde sağlama toplamı işleme gerektiren gömülü senaryoları öğrenmek için kullanışlıdır.
Örnek0b11001011…00100110
UzunlukSol sıfır dolgusu ile 32 bitte sabitlendi
En Yüksek BitBit 31 (MSB) en solda görünür
En İyisiAlgoritma analizi, öğretme, yerleşik hata ayıklama
SekizlikUnix · Dosya Sistemleri
Sağlama toplamını, başına 11 basamaklı sekizlik sayı olarak görüntüler0o. 32 bit için en fazla 11 sekizlik karakter gereklidir çünkü 3×11 = 33 > 32. Her sekizlik basamak 3 biti temsil eder.

Sekizlik çıktı, modern CRC iş akışlarında nadir görülen bir durumdur, ancak yine de bazı Unix araçlarında, gömülü ürün yazılımı araç zincirlerinde ve daha eski iletişim protokolü spesifikasyonlarında görünmektedir.
Örnek0o31572031046
UzunlukEn fazla 11 sekizlik basamak
Basamak Başına3 biti (0-7) temsil eder
En İyisiUnix araçları, eski protokol spesifikasyonları