İçeriğe geç
🛠️ToolsShed

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

Metni Base58'e kodlayın veya Base58 dizelerini çözün. Bitcoin adresleri ve IPFS CID'lerinde kullanılır.

Bu araç hakkında

Base58, ham verileri 58 alfanümerik karakteri kullanarak insanlar tarafından okunabilir bir dizeye dönüştüren ikili metin kodlama şemasıdır. Base64'ün aksine, URL'lerde ve adreslerde kafa karışıklığına veya soruna neden olabilecek sembolleri içeren Base58, 0 (sıfır), O (büyük harf O), I (büyük harf I) ve l (küçük harf l) gibi karakterleri kaldırarak görsel belirsizliği önler. Bu kodlama, özellikle Bitcoin olmak üzere kripto para birimi adreslerini güvence altına almak ve InterPlanetary File System (IPFS) içinde içerik tanımlayıcılarını kodlamak için yaygın olarak tanınır.

Bu kodlayıcıyı kullanmak için metninizi veya ham verileri giriş alanına yapıştırın ve Base58 dizesi oluşturmak için kodla düğmesine tıklayın. Kodunu çözmek için, geçerli bir Base58 kodlu dizeyi yapıştırın ve orijinal verileri kurtarmak için kod çöz düğmesine tıklayın. Araç tamamen tarayıcınız içinde çalışır, tüm dönüştürmeleri anında işler ve harici sunuculara hiçbir şey göndermez. Bu, blokzincir verileriyle çalışan, içeriğe göre adreslemeli sistemlerle çalışan veya Bitcoin adreslerini, IPFS hash'lerini veya diğer şifreleme tanımlayıcılarını doğrulamak gereken herhangi bir uygulama ile çalışan geliştiriciler için özellikle faydalıdır.

Base58 kodlaması, kripto para birimleri ve merkezi olmayan uygulamalarında özellikle değerlidir çünkü adresleri manuel olarak veya kağıt cüzdanlar aracılığıyla paylaştırırken transkripsiyonu hataları azaltır. Görsel olarak benzer karakterlerin kaldırılması, Base58 adreslerini Base64'e kıyasla gözle okumak ve doğrulamak çok daha kolay hale getirir. İster bir blokzincir geliştirici olun, ister IPFS düğümlerini yöneten bir sistem yöneticisi olun, isterse Bitcoin adreslerinin nasıl kodlandığı hakkında meraklı olan biri olun, bu araç Base58 kodlaması ve kodunu çözmeyi şeffaf ve erişilebilir kılar.

Sıkça Sorulan Sorular

Kod Uygulaması

import base58  # pip install base58

# Encode text to Base58
text = "Hello, World!"
encoded = base58.b58encode(text.encode()).decode()
print(encoded)  # JxF12TrwUP45BMd

# Decode Base58 back to text
decoded = base58.b58decode(encoded).decode()
print(decoded)  # Hello, World!

# Manual implementation without library
ALPHABET = b"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"

def encode(data: bytes) -> str:
    num = int.from_bytes(data, "big")
    result = b""
    while num > 0:
        num, rem = divmod(num, 58)
        result = bytes([ALPHABET[rem]]) + result
    pad = len(data) - len(data.lstrip(b"\x00"))
    return (b"1" * pad + result).decode()

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.