Text a kód / Návody

Kódovanie, hashovanie a šifrovanie: čo potrebujete?

Rovnaký text možno zapísať pomocou HTML entít, pripraviť pre URL, previesť na Base64 alebo zhrnúť hashom. Každý postup rieši inú úlohu.

Začnite cieľovým prostredím

Pred výberom nástroja si ujasnite, kam hodnota pôjde. HTML entity pomáhajú zapísať znaky ako ampersand v HTML texte. Percentové kódovanie pripraví hodnotu pre komponent URL, v ktorom medzery a vyhradené znaky potrebujú jednoznačný zápis. Base64 zobrazí ľubovoľné bajty pomocou obmedzenej sady znakov; hodí sa tam, kde textový systém prenáša binárne údaje. Hash SHA-256 je odtlačok pevnej dĺžky na porovnanie údajov, nie spôsob, ako získať pôvodný vstup. Ani jeden z týchto štyroch postupov nie je šifrovanie. Ak majú údaje zostať tajné, použite vhodné autentifikované šifrovanie namiesto maskovania pomocou Base64 alebo hashu.

Jeden vstup, štyri výstupy

Vezmime text A&B. V bežnom HTML texte možno ampersand zapísať ako A&B a prehliadač opäť zobrazí A&B. Ako komponent URL dostaneme A%26B, pretože nekódovaný ampersand môže oddeľovať parametre. V UTF-8 zodpovedajú tri viditeľné znaky hexadecimálnym bajtom 41 26 42 a štandardné Base64 ich zapíše ako QSZC. Nástroj SHA-256 namiesto toho vráti dlhý hexadecimálny odtlačok; malá zmena vstupu spravidla vytvorí celkom iný odtlačok. Výstupy nemožno zamieňať: Base64 môže obsahovať znaky vyhradené v URL a z hashu sa pôvodný text nedá obnoviť.

Štyri cesty z jedného vstupu; len tri umožňujú získať originál späť.
  1. A&B — pôvodný text
  2. HTML: A&B · URL: A%26B
  3. Base64: QSZC · SHA-256: hash

Vratnosť a bezpečnosť

HTML entity, percentové kódovanie aj Base64 sú vratné, ak poznáte kontext a kódovanie vstupu. Preto neposkytujú utajenie: Base64 môže bez kľúča dekódovať ktokoľvek. SHA-256 je jednosmerná funkcia, ale samotný SHA-256 pre predvídateľné heslo nie je bezpečné ukladanie hesiel; na to slúžia špecializované metódy so soľou. Samotný hash bez autentifikovaného protokolu nedokazuje ani to, kto údaje dodal. Pri webe záleží na kontexte escapovania: HTML text, atribút, URL a zdrojový kód JavaScriptu majú odlišné pravidlá. Reťazec pripravený pre jeden kontext môže byť v druhom nebezpečný.

Praktický postup prevodu

Najprv pomenujte pôvodný text a formát, ktorý očakáva príjemca. Pri tvorbe HTML textu zapíšte potrebné znaky ako entity; v skutočnej aplikácii nechajte prácu so značkami overenému šablónovaciemu systému. Ak vkladáte hodnotu do jedného parametra URL, zakódujte tento komponent len raz a potom ho pripojte k parametru. Ak rozhranie žiada Base64, najprv text preveďte na bajty dohodnutým kódovaním, zvyčajne UTF-8. Keď porovnávate zhodu dvoch sekvencií bajtov, vypočítajte hash oboch rovnakým algoritmom. Pôvodné bajty si ponechajte, ak budete správu neskôr potrebovať zobraziť.

Skontrolujte spätný prevod

Pri vratnom postupe skúste zodpovedajúci dekodér. Dajte pozor na dvojité kódovanie: po ďalšom zakódovaní A%26B sa objaví %25 a jedno dekódovanie odstráni iba jednu vrstvu. Overte, či príjemca Base64 očakáva štandardnú abecedu, variant pre URL alebo dopĺňacie znaky. Pri hashi rozhodujú presné bajty vrátane koncov riadkov a medzier na konci; vizuálne podobný text môže mať iný odtlačok. Vložený prevodník Base64 nižšie umožní vyskúšať vratný prípad. Na ďalšie cesty použite prepojené nástroje HTML, URL a SHA-256 a vyberte výstup podľa skutočného cieľa. Ak pripravujete odkaz, zakódujte iba hodnotu jedného parametra, nie celú adresu aj s oddeľovačmi. Pri HTML sa osobitne pýtajte, či bude hodnota v texte alebo atribúte; obe miesta sa správajú odlišne. Skúšku doplňte vstupom s diakritikou: Base64 najprv kóduje bajty UTF-8, takže výsledok nemožno odvodzovať len z počtu písmen. Ak vám server vracia iný výsledok, skontrolujte dohodnuté znakové kódovanie a neviditeľné znaky na konci vstupu. Pri zdieľaní úryvku sa uistite, že zverejňujete len údaje, ktoré môžu byť verejné; kódovanie ich neskryje. Pri porovnaní hashov si poznačte aj názov algoritmu a presný formát vstupu; inak môžete správne vypočítané odtlačky mylne považovať za nezhodu.

Vyskúšať konvertor

Vyskúšajte prevod textu na Base64 a dekódovaním overte spätnú cestu.

Zakódujte text ako Base64 alebo Base64URL s výberom znakovej sady a výplne.

Otvoriť celý konvertor

Ďalšie návody

Návody na konverzie

Prezrieť návody