Özel Alfabeli Kodlayıcı ve Kod Çözücü

Kendi alfabenizi yazın veya bir hazır ayardan başlayın, ardından onunla kodlayın ya da kod çözün. Her alfabe uzunluğu için büyük sayı yöntemini, RFC 4648 tarzı çıktı için bit gruplarını seçin.

Tamamen tarayıcınızda çalışır. Hiçbir veri yüklenmez.

Nasıl kullanılır

  1. "Alfabe" alanına kendi alfabenizi yazın veya "Hazır ayar" listesinden birini seçip düzenleyin. Her karakter yalnızca bir kez kullanılabilir.
  2. "Yöntem" seçeneğini belirleyin: herhangi bir alfabe uzunluğu için "Büyük sayı (Base58 tarzı)", 2, 4, 8, 16, 32 veya 64 karakterlik alfabeler için "Bit grupları (RFC 4648 tarzı)".
  3. Bit grupları yönteminde isterseniz alfabede bulunmayan bir "Dolgu karakteri" girin.
  4. "Kodla" ile metninizi kodlayın veya alfabenizle yazılmış bir dizeyi yapıştırıp "Kodu çöz" ile çözün.

Baytları karakterlere eşlemenin iki yolu

Büyük sayı yöntemi Base58 gibi çalışır. Girdinin tamamı tek bir büyük tam sayı olarak okunur ve tekrar tekrar alfabenin uzunluğuna bölünür; her kalan bir karakteri belirler. Bu yöntem 10, 36, 58 veya 62 gibi en az 2 karakterli her alfabeyle çalışır. Baştaki sıfır baytlar alfabenin ilk karakteriyle yazılır; böylece gidiş-dönüş dönüşümde kaybolmazlar. Dolgu yoktur ve uzun verilerde aritmetik işlemler yavaşladığı için girdi yaklaşık 20 KB ile sınırlıdır.

Bit grupları yöntemi RFC 4648 gibi çalışır. Girdi, sabit sayıda bitten oluşan parçalara bölünür: 2 karakterli bir alfabe için 1 bit, 16 karakterli için 4 bit, 32 karakterli için 5 bit ve 64 karakterli için 6 bit. Her parça, alfabedeki bir karakterin sıra numarasıdır. Hex, Base32 ve Base64 tam olarak böyle çalışır ve çıktı uzunluğu yalnızca girdi uzunluğuna bağlıdır.

İki yöntem neden farklı sonuçlar verir

Yöntemlerden biri verinin sayısal değerini, diğeri ise bitlerini konum konum kodlar. Sonuçlar genellikle farklıdır ve bir dizenin kodu, onu üreten yöntemle çözülmelidir.

AlfabeGirdiBit gruplarıBüyük sayı
Standart Base64HiSGk=Ehp
RFC 4648 Base32HiJBUQ====SDJ
01A010000011000001
0123456789Hikullanılamaz18537

Bit grupları yöntemi ve dolgu olarak = kullanıldığında standart alfabeler normal Base64 ve Base32 çıktısını aynen üretir. Büyük sayı yöntemi sabit sayıda bit değil bir değer yazdığı için A karakterinin baştaki sıfır bitini atar. Alfabe olarak on rakam kullanıldığında ise Hi baytlarını doğrudan ondalık bir sayı olarak gösterir.

Dolgu karakteri yalnızca bit grupları için geçerlidir. Çıktı, 64 karakterlik alfabelerde 4 karakterin, 32 ve 8 karakterlik alfabelerde 8 karakterin katına tamamlanır. 2, 4 veya 16 karakterli alfabelerde her bayt tam sayıda karaktere karşılık gelir; bu nedenle dolguya hiçbir zaman gerek kalmaz.

Geçerli bir alfabenin kuralları

  • En az iki karakter.
  • Tekrar yok. Kod çözücü her karakteri tam olarak bir değere geri eşler. a hem 0 hem de 10 anlamına gelseydi, bu karakteri içeren bir dizenin kodu çözülemezdi.
  • Büyük/küçük harf önemlidir. a ve A farklı karakterlerdir.
  • Dolgu karakteri alfabede bulunmamalıdır; aksi halde veriden ayırt edilemez.

Her şey tarayıcınızda çalışır; alfabeniz ve verileriniz cihazınızda kalır.

Özel alfabe ne zaman işe yarar

  • Gizlenmiş kimlikler. Karıştırılmış bir alfabe, tanımlayıcıları belirgin bir örüntü taşımayan token'lara dönüştürür. Bu yöntem gizler ama korumaz: alfabeyi bilen herkes bunları çözebilir.
  • Tescilli veya eski biçimler. Bir sistemin kendine özgü alfabesini belgelerinden kopyalayın ve verilerini doğrudan çözün.
  • Öğrenme. Taban dönüşümünün nasıl çalıştığını görmek için alfabe uzunluklarını ve iki yöntemi karşılaştırın. Sabit alfabeler için Base58 ve Base62 sayfalarına bakın.

Sıkça sorulan sorular

Büyük sayı ile bit grupları arasındaki fark nedir?

Büyük sayı yöntemi, Base58'de olduğu gibi girdinin tamamını tek bir tam sayı olarak yeni tabana dönüştürür ve her alfabe uzunluğuyla çalışır. Bit grupları yöntemi ise Base64'te olduğu gibi girdiyi sabit boyutlu bit parçalarına böler ve 2, 4, 8, 16, 32 veya 64 karakterlik bir alfabe gerektirir.

Özel Base64 alfabem neden standart Base64 çıktısıyla eşleşmiyor?

Standart Base64 bit gruplarını kullanır. Aynı sonucu almak için bit grupları yöntemini seçin ve dolgu karakteri olarak = ayarlayın. Büyük sayı yöntemi aynı alfabeden tamamen farklı bir dize üretir.

Tekrarlanan karakterlere neden izin verilmiyor?

Her karakter tam olarak bir değere çözülmelidir. Tekrarlanan bir karakterin iki anlamı olur ve orijinal veri güvenilir şekilde geri elde edilemez.

Büyük sayı yöntemiyle dolgu karakteri kullanabilir miyim?

Hayır. Büyük sayı çıktısının sabit bir blok boyutu yoktur; bu nedenle doldurulacak bir şey de yoktur. Dolgu seçeneği yalnızca bit grupları için geçerlidir.

Özel alfabe bir şifreleme türü müdür?

Hayır. Yine anahtarsız bir kodlamadır. Karıştırılmış bir alfabe, verinin ilk bakışta tanınmasını zorlaştırabilir, ancak gizli bilgileri korumak için asla kullanılmamalıdır.