Skip to content

CRC Sağlama Toplamı Hesaplayıcı

Onaltılık veya metin yapıştırın; CRC-8, CRC-16 ve CRC-32'nin 63 çeşidi aynı anda hesaplansın. Tutturamadığınız bir sağlama toplamı mı var? Yazın, araç çeşidi söylesin: MODBUS, CCITT-FALSE, XMODEM. Tamamen tarayıcınızda çalışır.

Takip Yok Tarayıcıda Çalışır Ücretsiz
Her şey tarayıcınızda yerel olarak hesaplanır — yapıştırdığınız veri bu cihazdan çıkmaz.
Bunları deneyin

63 çeşidin tamamı

Her satır siz yazdıkça yeniden hesaplanır.
Çeşit Sonuç Poly Init RefIn/RefOut XorOut
CRC-8
CRC-8/AUTOSAR 0x2F 0xFF false / false 0xFF
CRC-8/BLUETOOTH 0xA7 0x00 true / true 0x00
CRC-8/CDMA2000 0x9B 0xFF false / false 0x00
CRC-8/DARC 0x39 0x00 true / true 0x00
CRC-8/DVB-S2 0xD5 0x00 false / false 0x00
CRC-8/GSM-A 0x1D 0x00 false / false 0x00
CRC-8/GSM-B 0x49 0x00 false / false 0xFF
CRC-8/HITAG 0x1D 0xFF false / false 0x00
CRC-8/I-432-1 CRC-8/ITU 0x07 0x00 false / false 0x55
CRC-8/I-CODE 0x1D 0xFD false / false 0x00
CRC-8/LTE 0x9B 0x00 false / false 0x00
CRC-8/MAXIM-DOW CRC-8/MAXIM · DOW-CRC 0x31 0x00 true / true 0x00
CRC-8/MIFARE-MAD 0x1D 0xC7 false / false 0x00
CRC-8/NRSC-5 0x31 0xFF false / false 0x00
CRC-8/OPENSAFETY 0x2F 0x00 false / false 0x00
CRC-8/ROHC 0x07 0xFF true / true 0x00
CRC-8/SAE-J1850 CRC-8/J1850 0x1D 0xFF false / false 0xFF
CRC-8/SMBUS CRC-8 0x07 0x00 false / false 0x00
CRC-8/TECH-3250 CRC-8/AES · CRC-8/EBU 0x1D 0xFF true / true 0x00
CRC-8/WCDMA 0x9B 0x00 true / true 0x00
CRC-16
CRC-16/ARC CRC-16 · CRC-16/IBM · CRC-16/LHA 0x8005 0x0000 true / true 0x0000
CRC-16/CDMA2000 0xC867 0xFFFF false / false 0x0000
CRC-16/CMS 0x8005 0xFFFF false / false 0x0000
CRC-16/DDS-110 0x8005 0x800D false / false 0x0000
CRC-16/DECT-R R-CRC-16 0x0589 0x0000 false / false 0x0001
CRC-16/DECT-X X-CRC-16 0x0589 0x0000 false / false 0x0000
CRC-16/DNP 0x3D65 0x0000 true / true 0xFFFF
CRC-16/EN-13757 0x3D65 0x0000 false / false 0xFFFF
CRC-16/GENIBUS CRC-16/DARC · CRC-16/EPC · CRC-16/EPC-C1G2 · CRC-16/I-CODE 0x1021 0xFFFF false / false 0xFFFF
CRC-16/GSM 0x1021 0x0000 false / false 0xFFFF
CRC-16/IBM-3740 CRC-16/CCITT-FALSE · CRC-16/AUTOSAR 0x1021 0xFFFF false / false 0x0000
CRC-16/IBM-SDLC CRC-16/X-25 · CRC-16/X25 · CRC-16/ISO-HDLC · CRC-B · X-25 0x1021 0xFFFF true / true 0xFFFF
CRC-16/ISO-IEC-14443-3-A CRC-A 0x1021 0xC6C6 true / true 0x0000
CRC-16/KERMIT CRC-16/CCITT · CRC-16/CCITT-TRUE · CRC-16/V-41-LSB · CRC-CCITT 0x1021 0x0000 true / true 0x0000
CRC-16/LJ1200 0x6F63 0x0000 false / false 0x0000
CRC-16/M17 0x5935 0xFFFF false / false 0x0000
CRC-16/MAXIM-DOW CRC-16/MAXIM 0x8005 0x0000 true / true 0xFFFF
CRC-16/MCRF4XX 0x1021 0xFFFF true / true 0x0000
CRC-16/MODBUS 0x8005 0xFFFF true / true 0x0000
CRC-16/NRSC-5 0x080B 0xFFFF true / true 0x0000
CRC-16/OPENSAFETY-A 0x5935 0x0000 false / false 0x0000
CRC-16/OPENSAFETY-B 0x755B 0x0000 false / false 0x0000
CRC-16/PROFIBUS CRC-16/IEC-61158-2 0x1DCF 0xFFFF false / false 0xFFFF
CRC-16/RIELLO 0x1021 0xB2AA true / true 0x0000
CRC-16/SPI-FUJITSU CRC-16/AUG-CCITT 0x1021 0x1D0F false / false 0x0000
CRC-16/T10-DIF 0x8BB7 0x0000 false / false 0x0000
CRC-16/TELEDISK 0xA097 0x0000 false / false 0x0000
CRC-16/TMS37157 0x1021 0x89EC true / true 0x0000
CRC-16/UMTS CRC-16/BUYPASS · CRC-16/VERIFONE 0x8005 0x0000 false / false 0x0000
CRC-16/USB 0x8005 0xFFFF true / true 0xFFFF
CRC-16/XMODEM CRC-16/ACORN · CRC-16/LTE · CRC-16/V-41-MSB · ZMODEM 0x1021 0x0000 false / false 0x0000
CRC-32
CRC-32/AIXM CRC-32Q 0x814141AB 0x00000000 false / false 0x00000000
CRC-32/AUTOSAR 0xF4ACFB13 0xFFFFFFFF true / true 0xFFFFFFFF
CRC-32/BASE91-D CRC-32D 0xA833982B 0xFFFFFFFF true / true 0xFFFFFFFF
CRC-32/BZIP2 CRC-32/AAL5 · CRC-32/DECT-B · B-CRC-32 0x04C11DB7 0xFFFFFFFF false / false 0xFFFFFFFF
CRC-32/CD-ROM-EDC 0x8001801B 0x00000000 true / true 0x00000000
CRC-32/CKSUM CRC-32/POSIX 0x04C11DB7 0x00000000 false / false 0xFFFFFFFF
CRC-32/ISCSI CRC-32C · CRC-32/BASE91-C · CRC-32/CASTAGNOLI · CRC-32/INTERLAKEN 0x1EDC6F41 0xFFFFFFFF true / true 0xFFFFFFFF
CRC-32/ISO-HDLC CRC-32 · CRC-32/ADCCP · CRC-32/V-42 · CRC-32/XZ · PKZIP 0x04C11DB7 0xFFFFFFFF true / true 0xFFFFFFFF
CRC-32/JAMCRC 0x04C11DB7 0xFFFFFFFF true / true 0x00000000
CRC-32/MEF 0x741B8CD7 0xFFFFFFFF true / true 0x00000000
CRC-32/MPEG-2 0x04C11DB7 0xFFFFFFFF false / false 0x00000000
CRC-32/XFER 0x000000AF 0x00000000 false / false 0x00000000
Özel parametreler

Cihazınızın belgelediği polinom yukarıdaki tabloda yoksa bunu kullanın.

Sonuç
63 çeşidin tamamının parametre kümesi, yayımlanmış katalog check değerlerine karşı test paketinde doğrulanıyor; CRC-32/ISO-HDLC ayrıca bağımsız bir referans olarak Node'un yerleşik zlib.crc32 fonksiyonuyla çapraz kontrol ediliyor. — Go Tools Mühendislik Ekibi · Sep 6, 2026

Go Tools mühendislik ekibi tarafından geliştirildi ve doğrulandı.

Hızlı yanıtlar

123456789 için CRC-32

0xCBF43926 CRC-32/ISO-HDLC için 0xCBF43926; ZIP, PNG, Ethernet ve gzip'in kullandığı çeşit.

123456789 için CRC-16/MODBUS

0x4B37 0x4B37; poly 0x8005, init 0xFFFF, giriş ve çıkış yansıtmalı, son XOR yok.

123456789 için CRC-16/CCITT-FALSE

0x29B1 0x29B1. Katalogdaki resmi adı CRC-16/IBM-3740: poly 0x1021, init 0xFFFF, yansıtmasız.

Kaç CRC çeşidi var?

63 Bu hesaplayıcı kataloğa girmiş 63 çeşidi kapsıyor: 20 tanesi 8 bit, 31 tanesi 16 bit, 12 tanesi 32 bit genişliğinde.

CRC nedir?

Döngüsel artıklık denetimi, bir veri bloğunu çok uzun bir ikilik polinomun katsayıları gibi ele alır, onu modulo 2 aritmetiğiyle sabit bir üretici polinoma böler ve kalanı saklar. O kalan, sağlama toplamıdır. Bu kurgunun yaygınlaşmasının iki nedeni var: bölme işlemi kaydırma ve XOR işlemlerine indirgeniyor, ki bu donanımda neredeyse bedava; bir de cebir istatistiksel bir umut değil kesin garantiler veriyor — iyi seçilmiş 16 bitlik bir polinom, tek bitlik hataların tamamını, işe yarar bir blok uzunluğu içindeki bütün çift bitlik hataları, tek sayıda gerçekleşen her bit dönmesini ve art arda gelen 16 ya da daha az bitlik bozulmaların hepsini yakalar.

CRC'yi pratikte karıştıran şey, polinomun altı parametreden yalnızca biri olması. İki uygulama polinom üzerinde anlaşıp yine de hiçbir sonuçta buluşamaz; çünkü yazmacın başlangıç değerinde, giriş baytlarıyla çıkış yazmacının bit sırasının ters çevrilip çevrilmediğinde ve son değere XOR'lanan sabitte ayrışırlar. Bir CRC çeşidi, tek başına polinom değil, bu parametre kümesinin tamamıdır — CRC-16 gibi bir adın tek başına neredeyse hiçbir şeyi belirlememesinin ve bu sayfanın her sonucun yanında polinomu, başlangıç değerini, iki yansıtma bayrağını ve son XOR'u göstermesinin, genişliği de grup başlığı olarak kullanmasının nedeni de budur.

Tablonun gösteremediği bir kayıt var: 16 bitlik bir polinom, tek sayıda gerçekleşen her bit dönmesini ancak x+1 kendisini bölüyorsa yakalar. Bu, en çok karşılaşacağınız iki polinom olan 0x1021 ile 0x8005 için geçerlidir, ama hepsi için değil — CRC-16/T10-DIF ve CRC-16/PROFIBUS istisnalar arasında.

// CRC-16/MODBUS: poly=0x8005, init=0xFFFF, refin/refout=true, xorout=0x0000
// Written in the reflected form, so the polynomial appears bit-reversed as 0xA001.
function crc16Modbus(bytes) {
  let crc = 0xffff;
  for (const byte of bytes) {
    crc ^= byte;
    for (let i = 0; i < 8; i++) {
      crc = crc & 1 ? (crc >>> 1) ^ 0xa001 : crc >>> 1;
    }
  }
  return crc;
}

crc16Modbus([0x01, 0x03, 0x00, 0x00, 0x00, 0x0a]); // 0xCDC5
// On the wire Modbus RTU sends the low byte first: ... 0x0A 0xC5 0xCD

Bu hesaplayıcı ne yapar

63 çeşit aynı anda

CRC-8, CRC-16 ve CRC-32 siz yazdıkça birlikte yeniden hesaplanır. Bir şey görebilmek için önce tahmin etmeniz gereken açılır liste yok.

Ters arama

Size verilen sağlama toplamını yazın, onu üreten çeşitler vurgulansın; bilinmeyen bir algoritmayı belirlemek yirmi adım yerine tek adım sürsün.

Resmi adlar ve kılavuz adları

Her satır RevEng katalog adını ve sahada kullanılan takma adları birlikte gösterir — CCITT-FALSE, CRC-16/IBM, CRC-32C, X-25 ve diğerleri.

Eksiksiz parametre tablosu

Polinom, başlangıç değeri, iki yansıtma bayrağı ve son XOR her sonucun yanında durur; böylece eşleşmeyi şartnameye karşı doğrulayabilirsiniz.

Özel parametreler

Hiçbir kataloğa girmemiş polinomlar için genişlik, polinom, başlangıç değeri, yansıtma ve son XOR alanlarının hepsi düzenlenebilir.

Tamamen çevrimdışı çalışır

Hesaplama tarayıcınızda olur. Üretim çerçeveleri ve firmware imajları makineden hiç çıkmaz.

Çözümlü örnekler

Katalog check değeri

123456789
CRC-32/ISO-HDLC = 0xCBF43926, CRC-16/MODBUS = 0x4B37, CRC-8/SMBUS = 0xF4

RevEng kataloğundaki her CRC çeşidi, 123456789 ASCII karakter dizisi için sonucunu yayımlar. Bu da söz konusu girdiyi standart öz sınama hâline getirir: bir kütüphane buradaki tabloyla anlaşmıyorsa hatalı olan kütüphanedir.

Bir Modbus RTU istek çerçevesi

01 03 00 00 00 0A
CRC-16/MODBUS = 0xCDC5

1 numaralı slave'den holding register okuma. Modbus RTU, CRC'nin düşük baytını önce eklediği için bu çerçeve hatta 01 03 00 00 00 0A C5 CD olarak gider — insanların tutturamadığı sağlama toplamlarının büyük bir kısmı bu ters sıradan çıkar.

Aynı baytlar, dört ayrı CRC-16 sonucu

DEADBEEF
MODBUS = 0xC19B, CCITT-FALSE = 0x4097, XMODEM = 0xC457, KERMIT = 0x1915

Hex kipinde okunuyor, yani dizgenin sekiz karakteri değil dört bayt. En bilinen dört CRC-16 çeşidi bu baytlar üzerinde tamamen ayrışıyor. Bozuk bir şey yok: aralarındaki fark doğruluk değil, başlangıç değeri, yansıtma ve son XOR.

Cihaz yanıtından ters arama

123456789, beklenen değer 0x29B1
CRC-16/IBM-3740 (kılavuzunuz buna CRC-16/CCITT-FALSE diyor olabilir)

Hesaplayıcının asıl var oluş nedeni bu durum. Elinizde veri ve bir başkasının hesapladığı sağlama toplamı var, ama çeşidin adı yok — dolayısıyla o değeri yeniden üreten parametre kümesini arıyorsunuz.

CRC hesaplayıcı nasıl kullanılır

  1. 1

    Metin mi hex mi, seçin

    Protokol çerçeveleri neredeyse her zaman hex'tir. Metin modunu yalnızca 123456789 öz sınama değeri gibi düz bir karakter dizisinin sağlama toplamını alırken kullanın.

  2. 2

    Verinizi yapıştırın

    Hex modunda ayraçlar yok sayılır; 01 03 00 00 00 0A, 0x01 0x03 ve 010300 00000A biçimlerinin üçü de kabul edilir.

  3. 3

    İhtiyacınız olan çeşidi okuyun

    Tablo genişliğe göre gruplanmıştır. Resmi adlar RevEng kataloğundan gelir; altlarında da cihaz kılavuzunuzun kullanma ihtimali yüksek olan takma adlar yazar.

  4. 4

    Ya da tersten gidin

    Elinizde bir sağlama toplamı varsa ve çeşidini arıyorsanız, değeri beklenen değer kutusuna yazıp vurgulanan satırı okuyun.

Sağlama toplamınız neden tutmuyor

Baytlar yerine "01 03" metninin sağlama toplamını almak

Metin modunda kalınca hesaplayıcı, onaltılık dökümünüzün temsil ettiği baytları değil ASCII karakterlerini işler. Hex moduna geçin — mod anahtarının altındaki bayt sayısı hangi okumayı aldığınızı söyler.

✗ Yanlış
Text mode, input "01 03" -> 5 bytes: 30 31 20 30 33
✓ Doğru
Hex mode, input "01 03" -> 2 bytes: 01 03

Baytları yer değiştirmiş bir sağlama toplamıyla karşılaştırmak

Modbus RTU önce CRC'nin düşük baytını iletir. C5 CD ile biten bir çerçeve 0xC5CD değil, 0xCDC5 sağlama toplamını taşır.

✗ Yanlış
expected 0xC5CD  (bytes read in transmission order)
✓ Doğru
expected 0xCDC5  (bytes reassembled low-byte-first)

Sağlama toplamı alanını kendi hesabına dahil etmek

CRC, kendinden önceki baytları kapsar. Çerçevenin tamamını, sonundaki alan da dahil olmak üzere geri beslemek sağlama toplamını değil bir artık değer üretir.

✗ Yanlış
01 03 00 00 00 0A C5 CD    <- trailer included
✓ Doğru
01 03 00 00 00 0A          <- payload only

"CRC-16" adının bir algoritmayı belirlediğini sanmak

Kataloğa girmiş çeşitlerin 31 tanesi 16 bit genişliğindedir. Diğer beş parametre olmadan bu ad hiçbir şeyi daraltmaz.

✗ Yanlış
spec says: "trailer is a CRC-16"
✓ Doğru
spec says: "CRC-16/MODBUS, poly 0x8005, init 0xFFFF, refin/refout true"

Buna ne zaman ihtiyaç duyarsınız

Modbus bağlantısında hata ayıklama
Bir PLC çerçevelerinizi reddediyor ve CRC'nin yanlış mı olduğunu yoksa yalnızca baytlarının mı yer değiştirdiğini bilmeniz gerekiyor. CRC-16/MODBUS değerini hesaplayın ve iki sıralamayı da karşılaştırın.
Belgelenmemiş bir protokolü tanımlama
Sağlama toplamına benzeyen iki baytlık bir sonekle trafik yakaladınız. Yükü ve soneki ters aramaya verin, hangi çeşidin sahip çıktığını görün.
Firmware'i araç zincirleri arasında taşıma
Bir üretici kütüphanesiyle kendi uygulamanız anlaşamıyor. İkisini de katalog check değerine karşı çalıştırmak hangisinin kaydığını gösterir.
Şartname yazmak ya da incelemek
Bir protokol belgesinde çeşide yalnızca CRC-16 demek, birlikte çalışabilirlik hatalarını garantiler. Parametre tablosu, algoritmayı gerçekten sabitleyen altı değeri verir.
Saklanan veriyi doğrulama
Dosya sistemleri, arşiv biçimleri ve flash imajları CRC-32 alanları taşır. Birini yeniden hesaplamak, bloğun sağlam kalıp kalmadığını söyler.

CRC nasıl çalışır

Polinom gösterimi
Tablo, polinomları normal (önce en anlamlı bit) biçiminde yazar: 0x8005, x^16 + x^15 + x^2 + 1 demektir. Yansıtmalı uygulamalar aynı polinomu çoğu zaman 0xA001 olarak gösterir, Koopman gösterimi ise onu bir kez daha farklı kaydırır. Tek bir polinom için üç ayrı gösterim, başarısız kod taşımalarının sık görülen kaynağıdır.
Başlangıç değeri
Yazmacı 0x0000 yerine 0xFFFF ile başlatmak, sağlama toplamını baştaki sıfır baytlara duyarlı kılar. Başlangıç değeri sıfırken bir mesajın önüne sıfır eklemek CRC'yi değiştirmez — oysa çerçeveli bir protokolün yakalaması gereken bozulma tam olarak budur.
Yansıtma
refin her giriş baytının içindeki bitleri, refout ise son yazmacı ters çevirir. Donanım bitleri önce en anlamlı bitten işler, bayt yönelimli yazılım ise önce en az anlamlı biti daha ucuz bulur; yansıtmalı parametre biçimleri bu ikisini uzlaştırır.
Son XOR
xorout en sonda uygulanır ve diğer uçtaki bir başlangıç değerinden ibaret değildir. Mesajın sonuna eklenen sıfır baytlar her iki durumda da yakalanır. Sıfırdan farklı bir xorout'un değiştirdiği şey, alıcının mesajla sağlama toplamını birlikte CRC'den geçirdiğinde elde ettiği kalandır: xorout sıfırken bu kalanın kendisi de sıfır olur, dolayısıyla CRC alanından sonra eklenen sıfırlar yine geçer. Ayrıca tamamı sıfır olan bir mesajın sıfırdan farklı bir sağlama toplamı üretmesini sağlar.
Check değeri
Kataloğa girmiş her çeşit, 123456789 ASCII karakter dizisi için sonucunu yayımlar. O girdi yüklendiğinde bu sayfada görünen 63 değer tam olarak o yayımlanmış sabitlerdir; bu sayfadaki motor da onlara karşı test edilir.

Sonucu tutturmak için

Algoritmanın adını değil, parametreleri yazın
Şartnamelere "poly 0x1021, init 0xFFFF, refin false, refout false, xorout 0x0000" yazın. "CRC-16/CCITT" bugüne kadar en az üç ayrı şeye karşılık geldi.
Bayt sırasını ayrıca kontrol edin
Bir sağlama toplamı tek bir bayt takasıyla tutuyorsa algoritma doğru, çerçeveleme yanlıştır. Bunları iki ayrı hata olarak ele alın.
Önce check değerine karşı doğrulayın
Verinizde hata aramaya başlamadan önce, uygulamanızın 123456789 için katalog değerini döndürdüğünü teyit edin. Bu, bozuk algoritmayı bozuk girdiden saniyeler içinde ayırır.
Neyin kapsandığını açıkça yazın
Tutmayan sağlama toplamlarının çoğu, başlangıç işaretlerinin, adreslerin ya da uzunluk alanlarının hesaba katılmasından veya dışarıda bırakılmasından kaynaklanır. CRC'nin tam olarak hangi baytları kapsadığına karar verin ve bunu yazılı hâle getirin.
MAC gereken yerde CRC kullanmayın
CRC doğrusaldır ve sahtesini üretmek son derece kolaydır. Veriyi bir saldırganın değiştirme ihtimali varsa bunun yerine HMAC kullanın.

Sıkça sorulan sorular

Cihazım neden bu hesaplayıcıdan farklı bir CRC döndürüyor?
Neredeyse her zaman iki farklı çeşidi karşılaştırdığınız için. Tek başına CRC-16'nın katalogda 31 parametre kümesi var; MODBUS, CCITT-FALSE, XMODEM ve KERMIT aynı baytlardan birbiriyle ilgisiz dört sayı üretiyor. Cihazın verdiği değeri beklenen değer kutusuna yazın: herhangi bir çeşit onu yeniden üretiyorsa eşleşen satır vurgulanır ve cevabınız elinizdedir. Hiçbiri tutmuyorsa hesaba giren veri sandığınız veri değildir — bayt sırasını, bir de çerçevenin başlangıç ve bitiş işaretlerinin hesaba katılıp katılmadığını kontrol edin.
Modbus hangi CRC-16 çeşidini kullanır?
CRC-16/MODBUS: polinom 0x8005, başlangıç değeri 0xFFFF, giriş ve çıkış yansıtmalı, son XOR yok. Asıl karışıklık algoritmadan çok iletim sırasından çıkıyor — Modbus RTU önce CRC'nin düşük baytını gönderir, dolayısıyla CRC'si 0xCDC5 olan bir çerçevenin sonunda C5 CD baytları durur. Adım adım işlenmiş bir çerçeve için CRC-16 çeşitleri rehberine bakın.
CRC-16/CCITT ile CRC-16/CCITT-FALSE arasındaki fark nedir?
Adları birbirine kafa karıştıracak kadar benzeyen iki ayrı algoritma; RevEng kataloğunun ikisini de yeniden adlandırmasının nedeni bu. İnsanların CCITT-FALSE dediği çeşit aslında CRC-16/IBM-3740'tır: başlangıç değeri 0xFFFF, yansıtmasız. Düz CCITT ile genellikle kastedilen ise CRC-16/KERMIT'tir: başlangıç değeri 0x0000, giriş ve çıkış yansıtmalı. Bu hesaplayıcı hem resmi adı hem de cihaz kılavuzunuzun kullanma ihtimali yüksek olan adı birlikte gösterir.
CRC bir dosyanın kurcalandığını tespit edebilir mi?
Hayır. CRC, gürültülü bir kanaldaki rastlantısal bozulmalar için tasarlanmış bir hata tespit kodudur ve doğrusaldır — herkes bir mesajı değiştirip CRC yine tutacak biçimde ayarlayabilir. Kasıtlı bir saldırgana karşı bütünlük gerekiyorsa SHA-256 gibi kriptografik bir özet ya da HMAC gibi kimlik doğrulamalı bir yapı kullanın. CRC kendisi için tasarlandığı işte çok iyidir, güvenlik konusunda ise hiçbir şey sunmaz.
refin ile refout tam olarak ne yapar?
refin, her giriş baytını yazmaca verilmeden önce baytın bit sırasını ters çevirir; refout ise son yazmacın bit sırasını ters çevirir. Var olma nedenleri, donanımdaki kaydırma yazmaçlarıyla yazılımdaki tablo uygulamalarının bitleri ters yönlerde işlemesi; yansıtmalı biçimler ikisinin de aynı sayıya varmasını sağlıyor. Bunlar bayt sırasıyla aynı şey değildir — yansıtma bir baytın içindeki bitlere etki eder, endianness ise baytların kendi aralarındaki sırayı belirler.
Elimde yalnızca sağlama toplamı var, veri yok. Araç tersine çalışabilir mi?
Hayır, hiçbir araç da çalışamaz. Bir CRC, istediğiniz kadar uzun bir mesajı 8, 16 ya da 32 bite sıkıştırır; dolayısıyla sayısız farklı mesaj aynı değeri paylaşır — bu bir emek meselesi değil. Bu sayfadaki ters arama daha dar bir soruyu yanıtlar: veriniz ve birinin ondan hesapladığı bir sağlama toplamı elinizdeyken, ikisini hangi parametre kümesi birbirine bağlıyor. Bir cihazın yanıtını yakaladıysanız ama arkasındaki yükü yakalamadıysanız, önce yükü yakalayın. Bir çeşidi belirlemek yerine genişlikler arasında seçim yapmak için CRC-16 çeşitleri rehberine bakın.
Cihazım tek bir çeşit listelerken hesaplayıcı neden 63 çeşit gösteriyor?
Çünkü işe yarayan soru genellikle bir CRC hesaplamak değil, elimdeki değeri bunlardan hangisinin ürettiğidir. Önce bir çeşit seçmenizi isteyen araçlar, cevabı zaten bildiğinizi varsayıyor. Bütün çeşitleri aynı anda göstermek teşhisi tek bir bakışa indiriyor; parametre sütunları da eşleşmeyi bir ada güvenmek yerine şartnameye karşı doğrulamanızı sağlıyor.
Verilerim bir yere gönderiliyor mu?
Hayır. Hesabın tamamı, bu sayfadaki tabloyu oluşturan aynı motorla tarayıcınızda çalışır — yükleme, API çağrısı ve kayıt tutma yoktur. Ağ bağlantınızı kesseniz de araç çalışmaya devam eder; bu önemlidir, çünkü CRC girdileri çoğu zaman üretimden alınmış çerçeveler ya da firmware imajlarıdır.

AES Şifre Çözme Aracı — OpenSSL ve CryptoJS Uyumlu

Güvenlik Araçları

AES şifreli metnini online çözün — GCM/CBC/CTR, parola veya ham anahtar, OpenSSL ve CryptoJS "U2FsdGVkX1" biçimini otomatik algılar. %100 tarayıcıda, anahtarlar sayfadan asla çıkmaz.

AES Şifreleme Aracı — GCM, CBC ve CTR

Güvenlik Araçları

Ücretsiz online AES şifreleme — AES-128/192/256, GCM/CBC/CTR, parola (PBKDF2) veya ham anahtar. %100 tarayıcınızda çalışır; hiçbir şey yüklenmez.

Bcrypt Karma Oluşturucu ve Doğrulayıcı

Güvenlik Araçları

bcrypt şifre karmalarını çevrimiçi oluşturun ve doğrulayın — ayarlanabilir maliyet, $2b$/$2a$/$2y$ önekleri. %100 tarayıcınızda; şifreniz asla yüklenmez.

HMAC Üretici ve İmza Doğrulayıcı

Güvenlik Araçları

Ücretsiz online HMAC üretici ve doğrulayıcı. Metin, Hex veya Base64 anahtarlarla ve Hex/Base64/Base64URL çıktısıyla HMAC-SHA256/SHA1/SHA384/SHA512 hesaplayın. %100 tarayıcınızda — anahtarlar sayfadan asla çıkmaz.

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.

JWT Oluşturucu ve Kodlayıcı

Güvenlik Araçları

Ücretsiz online JWT oluşturucu ve kodlayıcı. header ve payload'ı oluşturun, HS256, RS256 ya da ES256 ile anında imzalayın. %100 tarayıcıda çalışır — gizli anahtarınız ve özel anahtarınız cihazınızdan ayrılmaz.