Base64 Encoder at Decoder
Libreng Base64 encoder at decoder na may buong UTF-8 support at URL-safe na base64url. Gumagana sa iyong browser, walang ina-upload na kahit ano.
Paano gamitin ang Base64 encoder at decoder
- Piliin kung gusto mong I-encode ang text bilang Base64 o I-decode ang Base64 pabalik sa text.
- I-type o i-paste ang iyong input sa text box. Suportado ang mga letrang may accent, mga script na hindi Latin, at mga emoji.
- Kung gagamitin ang resulta sa isang URL, pangalan ng file o JSON Web Token, i-on ang opsyong URL-safe (base64url) para makuha ang base64url na variant.
- Basahin ang resulta at kopyahin ito. Kapag nagde-decode ka at hindi valid na Base64 ang input, magpapakita ng mensahe ng error sa halip na kalat na output.
Ano ang Base64?
Ang Base64 ay paraan ng pagrepresenta sa kahit anong mga byte gamit lang ang 64 na nababasang ASCII character: ang mga malalaking letrang A–Z, maliliit na letrang a–z, mga digit na 0–9, at ang dalawang simbolong + at /. Ginagamit ang = bilang padding sa dulo. Umiiral ito dahil maraming sistema ang idinisenyo para magdala ng text, hindi ng raw binary data. Ang mga email, HTTP header, XML at JSON document, at data URL ay umaasa sa mga character na hindi masisira kapag kinopya, na-log at ipinadala.
Gumagana ang algorithm sa mga grupo ng tatlong byte (24 bit) at hinahati ang mga ito sa apat na 6-bit na value, na bawat isa ay tumutugma sa isa sa 64 na character. Kaya laging mga 33% na mas malaki ang output ng Base64 kaysa sa input: bawat 3 byte ay nagiging 4 na character. Kapag hindi multiple ng tatlo ang haba ng input, nagdaragdag ng isa o dalawang = para maging multiple ng apat ang haba ng output. Halimbawa, ang salitang Hi ay nagiging SGk= at ang Hello ay nagiging SGVsbG8=.
Text, byte at UTF-8
Bytes ang ine-encode ng Base64, hindi mga character, kaya kailangan munang gawing byte ang text. Gumagamit ang tool na ito ng UTF-8, ang encoding ng halos lahat ng modernong web page at API. Kaya ang café ay nagiging Y2Fmw6k=, at ang emoji gaya ng 👍 (apat na byte sa UTF-8) ay tamang na-e-encode at bumabalik sa parehong emoji kapag dinecode. Maraming mabilisang script na umaasa sa lumang btoa() function ng browser ang pumapalya sa anumang labas sa Latin-1; wala ang limitasyong iyon sa tool na ito.
Karaniwang Base64 kumpara sa base64url
Gumagamit ang karaniwang Base64 ng + at /, na may espesyal na kahulugan sa mga URL at path ng file. Pinapalitan ng URL-safe na variant, na tinatawag na base64url, ang + ng - at ang / ng _, at karaniwang tinatanggal ang = na padding. Ito ang format na gamit sa JSON Web Token (JWT), sa maraming OAuth parameter at sa mga URL shortener. I-on ang URL-safe (base64url) kapag kailangan mo ang format na iyon, at iwanang naka-off para sa mga email attachment, data URL o configuration file na umaasa sa karaniwang Base64.
Hindi encryption ang Base64
Ito ang pinakakaraniwang maling akala. Ang Base64 ay isang encoding: walang key at walang sikreto, at kahit sino ay agad itong maibabalik. Ang pag-encode ng password, API key o personal na data sa Base64 ay hindi nagpoprotekta rito sa anumang paraan. Halimbawa, ipinapadala ng HTTP Basic authentication ang username:password sa Base64, kaya dapat lang itong gamitin sa HTTPS. Kung kailangan mo ng confidentiality, gumamit ng totoong encryption (gaya ng AES) o password hash (gaya ng Argon2 o bcrypt), hindi Base64.
Privacy
Lahat ng pag-encode at pag-decode ay nangyayari sa iyong browser gamit ang JavaScript. Ang text na inilalagay mo ay hindi kailanman ipinapadala sa server, iniimbak o nila-log, kaya ligtas mong masusuri ang mga token o configuration value. Text lang ang tinatanggap ng tool na ito; hindi ito tumatanggap ng mga na-upload na file.
Mga madalas itanong
Bakit mukhang random na simbolo ang na-decode kong text?
Malamang na binary data ang kinakatawan ng Base64 string, gaya ng larawan, compressed na file o naka-encrypt na nilalaman, at hindi text. Ang pag-decode nito ay nagbibigay ng mga valid na byte, pero hindi ito makabuluhang UTF-8 text. Maaari ring mangyari ito kung ang orihinal na text ay na-encode gamit ang ibang character set maliban sa UTF-8.
Bakit sinasabi ng tool na invalid ang Base64 ko?
Ang valid na Base64 ay naglalaman lang ng 64 na pinapayagang character kasama ang opsyonal na = na padding, at dapat sumunod ang haba nito sa pagkakagrupo na tig-4 na character. Karaniwang sanhi ang mga aksidenteng nakopyang character, putol na string, o base64url na string (may - at _) na dinecode nang hindi naka-on ang URL-safe na opsyon.
Puwede ba akong mag-encode ng mga larawan o ibang file?
Hindi. Para sa text lang ang tool na ito. Para magsama ng larawan sa HTML o CSS, kakailanganin mo ng tool na bumabasa ng raw na mga byte ng file at gumagawa ng data URL.
Ligtas ba ang Base64 para mag-imbak ng mga password?
Hindi. Kahit sino ay makakapag-decode ng Base64 sa loob ng isang saglit. Dapat iimbak ang mga password gamit ang nakalaang mabagal na hashing algorithm gaya ng Argon2, scrypt o bcrypt.
Ano ang pagkakaiba ng may padding at walang padding na Base64?
Ang padding na = ay nagpapaging multiple lang ng apat ang haba ng output; wala itong dalang impormasyon. Karamihan ng decoder ay kayang buuin ang data kahit wala ito. Karaniwang inaalis ng base64url ang padding dahil ang = mismo ay reserved na character sa mga URL.
Mga kaugnay na tool
- URL Encoder at Decoder Libreng URL encoder at decoder. I-percent-encode ang mga query parameter o buong URL, i-decode ang mga %XX sequence at ituring na espasyo ang +, sa browser mo.
- JSON Formatter at Validator Libreng JSON formatter at validator na nagbi-beautify, nagmi-minify at nagsusuri ng JSON sa iyong browser, may ulat ng syntax error ayon sa linya at column.
- UUID Generator Libreng UUID generator para sa version 4 at 7. Gumawa ng hanggang 1,000 nang sabay, naka-uppercase o walang gitling, at kopyahin o i-download bilang .txt.