Base64'ten Hex'e Dönüştürücü

Base64 verisini yapıştırın, aynı baytları onaltılık olarak görün. Hash değerlerini karşılaştırmak, anahtarları ve imzaları incelemek ve farklı araçların farklı biçimlerde gösterdiği parmak izlerini eşleştirmek için kullanışlıdır.

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

Nasıl kullanılır

  1. Base64 dizesini girdi alanına yapıştırın. Kaynak olarak Base64, hedef olarak Onaltılık önceden seçilidir.
  2. Onaltılık çıktıyı okuyun: her bayt iki onaltılık basamakla gösterilir.
  3. Farklı bir biçim gerekiyorsa Base58 veya Base32 gibi başka bir hedef kodlama seçin ya da hex değerini yeniden Base64'e çevirmek için "Girdi ve çıktının yerini değiştir" düğmesine basın.
  4. Sonucu kopyalayın.

Aynı baytları yazmanın iki yolu

Hex ve Base64, ikili veriyi metin olarak yazmanın iki farklı yoludur. Hex her bayt için iki karakter kullanır; bu da tek tek bayt değerlerini okumayı ve karşılaştırmayı kolaylaştırır. Base64 ise 3 baytı 4 karaktere sığdırır ve yaklaşık üçte bir daha kısadır. İkisi arasında dönüştürme yapmak yalnızca gösterimi değiştirir, verinin kendisine asla dokunmaz:

DeğerBaytHex uzunluğuBase64 uzunluğu
MD5 hash değeri163224
SHA-1 hash değeri204028
SHA-256 hash değeri, Ed25519 açık anahtarı326444
SHA-384 hash değeri489664
SHA-512 hash değeri, Ed25519 imzası6412888

Hex editörleri, paket çözümleyiciler ve hata ayıklayıcılar da veriyi hex olarak gösterir. Base64'ü hex'e dönüştürerek veriyi bu araçlarda gördüklerinizle bayt bayt karşılaştırabilirsiniz.

Base64'ten hex'e ne zaman ihtiyaç duyulur

  • Hash değerlerini karşılaştırma. sha256sum gibi araçlar hex çıktı verirken Subresource Integrity öznitelikleri, Content Security Policy hash'leri ve Content-MD5 gibi sağlama toplamı başlıkları Base64 kullanır. Karşılaştırmak için taraflardan birini dönüştürün.
  • SSH parmak izleri. ssh-keygen -l, SHA256: parmak izlerini dolgusuz Base64 olarak yazdırır; SSHFP DNS kayıtları ise aynı SHA-256 özetini hex olarak saklar. Hex biçimini elde etmek için SHA256: ifadesinden sonraki kısmı yapıştırın.
  • Anahtarlar, IV'ler ve imzalar. Kriptografik kodda hata ayıklarken baytları hex olarak görmek uzunluğu kontrol etmeyi, değerleri karşılaştırmayı ve eksik ya da fazla bir baytı fark etmeyi kolaylaştırır.

Dönüştürücünün kabul ettiği girdiler

Base64 girdisindeki boşluklar ve satır sonları yok sayılır, URL güvenli - ve _ karakterleri kabul edilir ve = dolgusu isteğe bağlıdır. Böylece JSON'dan, JWT'lerden veya terminal çıktısından kopyalanan değerleri olduğu gibi yapıştırabilirsiniz. Dönüştürme, çözülmüş baytlar üzerinde yapılır: sonuç, Base64 karakterlerinin değil verinin kendisinin hex karşılığıdır. Bir metnin hex kodlarını görmek için bunun yerine Base16 aracını kullanın.

# Kabuk
printf '%s' "$B64" | base64 --decode | xxd -p

# Python
base64.b64decode(s).hex()

// Node.js
Buffer.from(s, 'base64').toString('hex')

Sıkça sorulan sorular

Bu araç Base64 metnini mi, yoksa temsil ettiği baytları mı dönüştürür?
Baytları. Önce Base64 kodu çözülür, ardından elde edilen her bayt iki onaltılık basamak olarak yazılır. Base64 dizesinin kendi karakter kodlarını istiyorsanız onu Base16 aracıyla metin olarak kodlayın.
Hex çıktısı neden Base64 girdisinden daha uzun?

Hex bayt başına 2 karakter gerektirirken Base64 yaklaşık 1,33 karakter gerektirir. 32 baytlık bir SHA-256 özeti Base64'te 44, hex'te ise 64 karakterdir.

Büyük harfli hex veya iki nokta ayırıcıları nasıl elde ederim?
Onaltılık basamaklar büyük/küçük harfe duyarlı değildir; küçük ve büyük harfli değerler aynı anlama gelir. Belirli bir yazım için hex değerini onaltılık girdi olarak Base16 kodlayıcısına yapıştırın ve Büyük harf seçeneğini, Boşluk ya da İki nokta ayırıcısını veya 0x önekini seçin.
Bir JWT'deki veya JSON Web Key'deki Base64URL değerlerini dönüştürebilir miyim?

Evet. URL güvenli karakterler ve eksik dolgu otomatik olarak işlenir; bu nedenle anahtar parametrelerini ve imzaları hiçbir değişiklik yapmadan yapıştırabilirsiniz.