Base58 Kodlayıcı / Çözücü

Metni Base58'e ve geri dönüştürün.

Sonuç

JxF12TrwUP45BMd

Nasıl hesaplanır?

Kodlama kipinde metin ham baytlarına (ASCII dışı karakterlerde UTF-8) çevrilir ve tüm bayt dizisi 256 tabanında tek büyük bir sayı olarak ele alınır. Bu sayı, birbirine benzeyen 0, O, I ve l karakterlerini içermeyen Bitcoin alfabesiyle (123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz) 58 tabanında yeniden yazılır. Baştaki her sıfır baytı başa bir 1 olarak eklenir, böylece sıfır önekinin uzunluğu korunur. Çözme kipi bunu tersine çevirir: her karakter alfabede aranır, sayı yeniden kurulur ve baytlar metin olarak gösterilir; baştaki 1'ler yeniden sıfır baytı olur.

Base58 bir kodlamadır, şifreleme değildir; dolgu karakteri ve + / = işaretleri yoktur. Bitcoin adreslerindeki 4 baytlık sağlama toplamı (Base58Check) burada eklenmez ve denetlenmez. Boşluklar da karakter sayılır; bu yüzden fazladan bir boşluk ya da alfabe dışı herhangi bir karakter çözmeyi başarısız kılar. Boş girdi sonuç vermez.

Örnek hesaplama

Hello World metnini kodlayalım. 11 baytı (72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100) birlikte 87.521.618.088.882.533.792.115.812 sayısını oluşturur. Bu sayıyı tekrar tekrar 58'e bölmek 58 tabanındaki basamakları verir ve her basamak alfabedeki karşılığıyla değiştirilir. Sonuç 15 karakterlik JxF12TrwUP45BMd olur. Çözme kipine geçip bu diziyi yapıştırırsanız Hello World geri gelir. Çıktıda 0, O, I ya da l bulunmaz.

Bu örneği dene →

Sık yapılan hatalar

  • Base58'i Base64 ile karıştırmak. Alfabeleri farklıdır; çözme kipine yapıştırılan bir Base64 dizesi 0, O, I, l, + ya da / gibi karakterler yüzünden çoğunlukla başarısız olur.
  • Çıktıyı güvenli saymak. Base58 verinin yazılış biçimini değiştirir, herkes geri çevirebilir.
  • Bitcoin adresinin doğrulanacağını beklemek. Gerçek bir adreste sürüm baytı ve 4 baytlık sağlama toplamı (Base58Check) bulunur; bu araç yalnızca baytları dönüştürür, ikisini de denetlemez. Örneğin JxF12TrwUP45BMd adres olmadığı halde sorunsuz çözülür.
  • Başında ya da sonunda boşluk bulunan bir Base58 dizesini yapıştırmak. Boşluk alfabede olmadığı için çözme sonuç vermez.
  • Baştaki 1 karakterlerini silmek ya da eklemek. Baştaki her 1 bir sıfır baytıdır; 11JxF12TrwUP45BMd çözüldüğünde önce iki görünmez sıfır karakteri, ardından Hello World gelir.

Bu hesaplama hakkında

Bu araç, Bitcoin'in yaygınlaştırdığı bir alfabe olan Base58 ile metni kodlar ve çözer; bu alfabe 58 alfanümerik karakter kullanır ve görsel olarak karıştırılabilecek karakterleri — 0 (sıfır), O (büyük O), I (büyük i) ve l (küçük L) — bilerek dışarıda bırakır, böylece kodlanmış dizeler yanlış okunmaya veya yanlış yazılmaya karşı daha dayanıklı olur.

Kripto para geliştiricileri ve kullanıcıları buna Bitcoin adreslerinde ve özel anahtar formatlarında (WIF) rastlar; blok zinciri mühendisleri de ham baytları insan tarafından kolay okunan bir dizeye kodlaması gereken cüzdan yazılımlarını geliştirirken veya hata ayıklarken bunu kullanır. Metin veya bayt dizisini Base58'e çevirmek için yapıştırın, ya da bir Base58 dizesini çözmek için yapıştırın.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (0)

  • İlk yorumu siz yazın.

Popüler hesaplayıcılar

Tüm Hesaplayıcılar