Kodla / Çöz
Base64, Base64URL, URL yüzde kodlaması, HTML varlıkları ve onaltılık değerleri yazarken kodlayın veya çözün, tam UTF-8 desteğiyle.
Girdiğiniz hiçbir şey saklanmaz - aynı istekte dönüştürülüp geri gönderilir.
Base64, Base64URL, URL yüzde kodlaması, HTML varlıkları ve onaltılık değerleri yazarken kodlayın veya çözün, tam UTF-8 desteğiyle.
Girdiğiniz hiçbir şey saklanmaz - aynı istekte dönüştürülüp geri gönderilir.
Bir logdaki token, bir yönlendirmedeki sorgu dizesi, & dolu bir e-posta: kodlanmış metin işte her yerde karşınıza çıkar. Buraya yapıştırın, biçimi seçin ve kodlanmış ya da çözülmüş sonucu yazarken görün.
JSON Web Token, noktalarla birleştirilmiş üç Base64URL parçasıdır: başlık, yük ve imza. Ortadaki parçayı yapıştırın, Base64URL'yi seçip çözün; kullanıcı kimliği ve exp son kullanma zamanı (Unix zaman damgası dönüştürücüyle okuyabileceğiniz bir Unix zaman damgası) gibi JSON alanlarını görürsünüz. Çözmek doğrulamak değildir: bir JWT'nin yükünü herkes okuyabilir, değiştirilmediğini yalnızca sunucudaki imza kontrolü kanıtlar.
Bazı sistemlerin yer kazanmak için dolgusunu sildiği Base64, katı çözücülerde hata verir; bu araç eksik = işaretlerini ekler ve size bildirir. Birçok sunucu sorgu dizesindeki +'yı boşluk olarak okur, bu yüzden bir bağlantıya kodlanmadan yapıştırılan Base64 değeri bozuk ulaşır; onu URL bileşeni olarak kodlayın ya da Base64URL kullanın. İki kez kodlanmış metin %2520 veya & olarak görünür ve iki kez çözülmesi gerekir.
Base64 çözme boşlukları ve satır sonlarını yok sayar; e-postadaki gibi birkaç satıra bölünmüş bir değer yapıştırıldığı haliyle çözülür. Base64URL + ve / karakterlerini de kabul eder, ancak düz Base64 - ve _ karakterlerini reddeder; bu yüzden bir JWT parçası için Base64URL seçeneği gerekir. Hex çözme boşlukları, iki nokta üst üsteyi, virgülleri, tireleri ve 0x öneklerini atlar; 48:65:6c:6c:6f de 0x48 0x65 de çalışır. URL çözme + işaretini boşluğa çevirir; gerçek bir artı işareti %2B olarak gelmelidir. HTML kodlama & < > " ve ' olmak üzere beş karakteri kaçışlar; HTML çözme ve … gibi tüm HTML5 adlandırılmış varlıklarını ve rupi simgesi için ₹ gibi sayısal olanları tanır.
Buradaki URL kodlama tek bir değeri, örneğin tek bir sorgu parametresini kodlar; bu yüzden ayrılmış karakterlerin hepsi kaçışlanır: https://example.com/a b?x=1&y=2 şuna dönüşür: https%3A%2F%2Fexample.com%2Fa%20b%3Fx%3D1%26y%3D2. Yalnızca bağlantıya eklediğiniz değeri kodlayın, bağlantının tamamını asla. ASCII dışındaki metin UTF-8 baytları olarak kodlanır: café ₹ şuna dönüşür: caf%C3%A9%20%E2%82%B9; hex de aynı baytları gösterir, é için c3 a9, ₹ için e2 82 b9. user:pass değerinin Base64 karşılığı dXNlcjpwYXNz olur; bir HTTP Basic Authorization başlığı bu değeri taşır (RFC 7617). Bu yüzden o başlığı gören herkes parolayı okuyabilir.
Baytlar UTF-8 idi ama kodlanmadan önce bir yerde Latin-1 veya Windows-1252 olarak okundu. Buradaki çözme baytları olduğu gibi gösterir; düzeltme, onları üreten sistemde yapılmalıdır.
200.000 karaktere kadar metin yapıştırın. Görüntü gibi ikili dosyalarda çözülen baytlar indirme dosyasına dönüştürülmek yerine hex olarak gösterilir.
Hayır. Base64 yalnızca baytların yazılış biçimini değiştirir, böylece düz metin bekleyen sistemlerden sağlam geçerler. Herkes çözebilir; bir parolayı veya sırrı gizlemek için asla kullanmayın.
Base64URL, "+" ve "/" yerine "-" ve "_" kullanır ve genellikle "=" dolgusunu atar; böylece sonuç URL'lerde ve dosya adlarında güvenlidir. JSON Web Token'lar bunu kullanır.
Hayır. Aynı istekte dönüştürülüp geri gönderilir ve asla bir veritabanına veya loga yazılmaz.
Bu araç, encodeURIComponent'in olduğu gibi bıraktığı ! ' ( ) ve * karakterlerini de kaçışlar; bu yüzden it's (50%) off! şuna dönüşür: it%27s%20%2850%25%29%20off%21. İki biçim de aynı metne çözülür ve bu karakterleri bir sorgu değerinde kaçışlamak her zaman güvenlidir. Boşluk + değil %20 olur; + biçimi HTML form kodlamasından gelir ve buradaki çözücü ikisini de okur.
Linux veya Mac'te echo -n 'Hello, World' | base64 komutu SGVsbG8sIFdvcmxk verir, echo 'SGVsbG8sIFdvcmxk' | base64 --decode ise metne geri çevirir. -n yazmazsanız echo bir satır sonu ekler ve o da kodlanır, sonuç SGVsbG8sIFdvcmxkCg== olur: iki aracın farklı sonuç vermesinin en yaygın nedeni budur. PowerShell'de [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('Hello, World')) kodlar, [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('SGVsbG8sIFdvcmxk')) çözer. Bu sayfa yapıştırdığınız karakterleri tam olarak UTF-8 biçiminde kodlar ve satır sonu eklemez.
Yalnızca virgülden sonraki kısmı yapıştırın: data:image/png;base64,iVBORw0KGgo... içinde bu iVBORw0KGgo... kısmıdır, çünkü data:image/png;base64, öneki Base64 değildir ve dizenin tamamı reddedilir. Base64 ve Decode seçin. Metin olmayan baytlar resim olarak çizilmek yerine onaltılık (hex) gösterilir; bu da dosyanın ne olduğunu anlamaya yeter: PNG 89 50 4e 47 ile, JPEG ff d8 ff ile, tam bir .docx, .xlsx veya ZIP tabanlı başka bir dosya 50 4b 03 04 ile başlar. Görselin kendisini görmek için data URI'nin tamamını tarayıcının adres çubuğuna yapıştırın. Giriş en fazla 200.000 karakterdir, bu da yaklaşık 150.000 baytlık dosya eder.
Base64 her 3 baytı 4 karakterle yazar ve son grubu 4'ün katına tamamlamak için = ile doldurur (RFC 4648); bu yüzden çıktı, giriş baytlarının yukarı yuvarlanmış 4/3'üdür. Hello, World 12 bayttır ve 16 karakterlik SGVsbG8sIFdvcmxk olur. Harf değil UTF-8 baytı sayılır: café 4 karakter ama 5 bayttır ve Y2Fmw6k= olur; ₹100 6 bayttır ve 4oK5MTAw olur. E-posta ekleri biraz daha büyür, çünkü MIME Base64'ü en fazla 76 karakterlik satırlara böler (RFC 2045); bu sayfa çözerken bu satır sonlarını yok sayar. Dolgusuz Base64URL yalnızca = işaretlerinden tasarruf eder.