Adler-32 Sağlama Toplamı Hesaplama
Adler-32 sağlama toplamını hesaplamak için metni girin.
Sonuç
Nasıl hesaplanır?
Araç metninizi bayt olarak okur (UTF-8; yani aksanlı tek bir harf iki bayt olabilir) ve iki toplam tutar. A = 1 ve B = 0 ile başlar. Her bayt için önce A = (A + bayt) mod 65521, sonra B = (B + A) mod 65521 yapılır. Sağlama toplamı B × 65536 + A olur; 0x önekli 8 haneli onaltılık sayı, ondalık sayı ve son A ve B değerleri olarak gösterilir. 65521, 65536'nın altındaki en büyük asal sayıdır. Boşluk, sekme ve satır sonu dahil her karakter sayılır, bu yüzden sondaki bir boşluk farklı bir sağlama toplamı verir. Kutu boşsa sonuç çıkmaz. Sağlama toplamı kazara değişiklikleri yakalar; güvenli bir özet (hash) değildir.
Örnek hesaplama
Metin: Wikipedia. Dokuz bayt değeri 87, 105, 107, 105, 112, 101, 100, 105, 97'dir. A sırasıyla 1+87 = 88, sonra 193, 300, 405, 517, 618, 718, 823 ve 920 olur. B her A'yı toplar: 88, 281, 581, 986, 1503, 2121, 2839, 3662 ve 4582. Yani A = 920 ve B = 4582. Sağlama toplamı 4582 × 65536 + 920 = 300286872, onaltılık olarak 0x11E60398'dir. Araç onaltılık sağlama toplamını 0x11E60398, ondalık değeri 300.286.872 ve parçaları A=920, B=4582 olarak gösterir.
Sık yapılan hatalar
- Sonunda boşluk ya da satır sonu olan metni kopyalamak. Bu baytlar da dahil edilir, bu yüzden sonuç temiz metin üzerinden hesaplanan sağlama toplamıyla uyuşmaz.
- Başka bir kodlamayla üretilmiş sağlama toplamıyla karşılaştırmak. Metin burada UTF-8 bayt olarak okunur; farklı kodlamayla kaydedilmiş dosyanın baytları, dolayısıyla sonucu farklıdır.
- Adler-32'yi CRC-32 ya da MD5 ile karıştırmak. Değerler ve uzunluklar farklıdır, CRC-32 referansıyla eşleşmez.
- Sağlama toplamını kurcalamaya karşı koruyan bir özet sanmak. Aynı değeri veren iki farklı metin üretmek kolaydır, bu yüzden yalnızca kazara hataları yakalar.
- Onaltılık değeri ondalıkla karşılaştırmak. 0x11E60398 ve 300.286.872 aynı sayının iki yazılışıdır; aynı gösterimleri karşılaştırın.
Kaynaklar
Bu hesaplama hakkında
Adler-32 sağlama toplamı, metni veya ikili veriyi bayt bayt işleyen, iki çalışan toplamı — tüm baytların artı bir toplamı olan A (mod 65521) ve her bayttan sonraki A'nın çalışan toplamı olan B (mod 65521) — koruyan ve bunları B×65536 + A olarak tek bir 32-bit değerde birleştiren hızlı bir hata tespit algoritmasıdır. Bu hesaplayıcı, herhangi bir girdi metni için her iki çalışan toplamı ve nihai sağlama toplamını onaltılık ve ondalık biçimde hesaplar.
Adler-32, CRC-32'ye daha hızlı, daha basit bir alternatif olarak tasarlanmıştır ve en çok PNG, ZIP ailesi biçimleri ve sayısız başka sistem tarafından kullanılan sıkıştırma kütüphanesi olan zlib'e yerleşik sağlama toplamı olarak bilinir; burada iletim veya depolama bozulmalarını yakalamak için sıkıştırılmış veri bloklarına uygulanır. Yazılım geliştiricileri ve sistem programcıları, kendi Adler-32 uygulamalarının bilinen doğru bir referansla eşleştiğini doğrulamak veya hata ayıklama sırasında bir zlib akışına gömülü sağlama toplamını manuel olarak kontrol etmek için bu tür araçları kullanır.
Bu faydalı oldu mu?
En fazla 3 tepki seçebilirsiniz.
Popüler hesaplayıcılar
Kredi Hesaplama
Aylık taksit, toplam faiz ve ödeme planını hesaplayın.
Yüzde Hesaplama
Yüzde değişim, indirim ve oran hesaplamaları.
İndirim Hesaplama
İndirimli fiyatı, kazancı ve indirim tutarını hesaplayın.
Vücut Kitle Endeksi (VKİ)
Boy ve kiloya göre vücut kitle endeksini hesaplayın.
Yaş Hesaplama
Doğum tarihinden bugüne tam yıl, ay ve gün cinsinden yaşınızı hesaplayın.
Bileşik Faiz Hesaplama
Ana para, faiz oranı ve süreye göre bileşik faizle nihai tutarı hesaplayın.
Tüm Hesaplayıcılar
- Kredi Hesaplama
- Kar Hesaplama
- İndirim Hesaplama
- Vücut Kitle Endeksi (VKİ)
- Yüzde Hesaplama
- İdeal Kilo Hesaplama
- Yaş Hesaplama
- Gebelik Hesaplama
- Bileşik Faiz Hesaplama
- Bazal Metabolizma (BMR) Hesaplama
- Bahşiş Hesaplama
- Yakıt Maliyeti Hesaplama
- Tarih Farkı Hesaplama
- Uyku Döngüsü Hesaplama
- Günlük Su İhtiyacı Hesaplama
- Basit Faiz Hesaplama
- Kalp Atış Hızı Bölgeleri Hesaplama
- Koşu Temposu Hesaplama
- Evcil Hayvan Yaşı Hesaplama
- Kalori Yakım Hesaplama
- Makro Besin Dağılımı Hesaplama
- TDEE (Toplam Günlük Enerji İhtiyacı) Hesaplama
- Bel-Kalça Oranı Hesaplama
- Takdir ve Teşekkür Belgesi Hesaplama
- Tek Tekrar Maksimum (1RM) Hesaplama
- Yumurtlama (Ovülasyon) Hesaplama
- Elektrik Maliyeti Hesaplama
- Birim Fiyat Hesaplama
- Tasarruf Hedefi Hesaplama
- Başabaş Noktası Hesaplama
- Boya Hesaplama
- Vize-Final Ortalama Hesaplama
- İş Günü Hesaplama
- Saat Farkı (Süre) Hesaplama
- Yakıt Tüketimi Hesaplama
- Sıcaklık Birimi Çevirici
- Fayans (Seramik) Hesaplama
- En-Boy Oranı Hesaplama
- Roma Rakamı Çevirici
- Hedef Kilo Süresi Hesaplama
- Maaş Çevirici (Saatlik-Yıllık)
- Kredi Kartı Doğrulama (Luhn)
- Vücut Yüzey Alanı (BSA) Hesaplama
- Hissedilen Sıcaklık Hesaplama
- Ohm Kanunu Hesaplama
- PPI (Piksel Yoğunluğu) Hesaplama
- Molar Kütle Hesaplama
- Burç Hesaplama (Batı + Çin)
- IBAN Doğrulama
- Ayakkabı Numarası Dönüştürücü
- Ülke Bilgisi (Telefon Kodu) Sorgulama
- Saat Dilimi Farkı (Dünya Saati)
- CAGR (Bileşik Yıllık Büyüme) Hesaplama
- 72 Kuralı Hesaplama
- Kandaki Alkol (Promil) Hesaplama
- Yağsız Vücut Kütlesi (LBM) Hesaplama
- Pisagor Teoremi Hesaplama
- Hız Birimi Dönüştürücü
- İndirme Süresi Hesaplama
- Tarih Hesaplama (Gün Ekle/Çıkar)
Hesaplayıcı bulunamadı
Yorumlar (1)
Adler-32, zlib akışının sonundaki sağlama toplamıdır: son dört bayt sıkıştırılmamış verinin sağlama toplamıdır, bu yüzden buradaki onaltılık değerle karşılaştırabilirsiniz. Toplamların küçük kaldığı çok kısa girdilerde zayıftır ve birbirinden farklı birçok metin benzer değerlere dönüşebilir. Hangi değerle karşılaştırıyorsunuz, bir zlib akışıyla mı yoksa başka bir şeyle mi?