← Ҳамаи асбобҳо

Рамзгузорӣ ва Рамзкушоии Base64

Base64-ро дар браузери худ дарҳол рамзгузорӣ ва рамзкушоӣ кунед. Бифаҳмед, ки Base64 чист, чаро андозаро 33% зиёд мекунад ва он рамзгузорӣ аст, на шифргузорӣ.

Base64 чист ва чаро вуҷуд дорад

Base64 як усули рамзгузории бинарӣ-ба-матн аст. Он байтҳои хом — намуди маълумоте, ки тасвирҳо, бойгониҳо, калидҳои криптографӣ ё ҳар чизи дигаре, ки матни оддии хонданбоб нест, ташкил медиҳанд — мегирад ва онҳоро бо алифбои хурд ва бехатари 64 аломати чопшаванда аз нав менависад: 26 ҳарфи калони A-Z, 26 ҳарфи хурди a-z, даҳ рақами 0-9 ва ду аломати иловагӣ, одатан + ва /. Аломати баробар барои пуркунӣ дар охир истифода мешавад. Азбаски ҳар аломате, ки он тавлид мекунад, ASCII-и оддист, натиҷа метавонад аз системаҳое гузарад, ки танҳо барои коркарди матн сохта шудаанд.

Ин тамоми сабаби ихтироъ шудани Base64 аст. Бисёр протоколҳои қадимӣ — почтаи электронӣ мисоли классикӣ аст — фарз мекунанд, ки муҳтавое, ки онҳо мебаранд, матн аст. Агар шумо ба онҳо маълумоти хоми бинарӣ диҳед, баъзе байтҳо вайрон, партофта ё ҳамчун аломатҳои идоракунӣ тафсир мешаванд ва маълумот вайроншуда мерасад. Base64 ин мушкилотро тавассути табдили байтҳо ба шакле, ки ҳар канали бехатари матнӣ бегузашт мегузарад, бартараф мекунад. Маълумоти аслӣ пас аз он метавонад дар тарафи дигар дақиқ барқарор карда шавад.

Ҷараёни абстрактии дурахшони маълумоти бинарӣ, ки ба ҷараёни аломатҳои матнӣ дар арғувонии торик бо нури кабуд ва тиллоӣ табдил меёбад
Base64 байтҳои хомро ба ҷараёни аломатии бехатар ва мувофиқи матн ташаккул медиҳад.

Табдил чӣ гуна кор мекунад

Аз ҷиҳати механикӣ, Base64 вурудро ба порчаҳои се байт — яъне 24 бит — гурӯҳбандӣ мекунад ва баъд ҳамон 24 битро ба чор гурӯҳи шаш-битӣ бурида мекунад. Шаш бит метавонад 64 арзиши имконпазирро ифода кунад, ки маҳз барои ҳамин алифбо 64 аломат дорад. Пас се байти вуруд ҳамеша ба чор аломати барориш табдил меёбад. Вақте ки дарозии вуруд ба се дуруст тақсим намешавад, рамзгузор гурӯҳи охиринро бо як ё ду аломати = пур мекунад, то рамзкушо донад, ки маълумоти ҳақиқӣ дар куҷо тамом мешавад.

Ҳамин нисбати чор-ба-се сарчашмаи ҷазои маъруфи ҳаҷм низ мебошад: барориши Base64 тахминан 33% аз маълумоти аслӣ калонтар аст. Агар матни рамзгузошта ба сатрҳои дарозии собит печонида шавад, чунон ки стандартҳои почта аксар вақт талаб мекунанд, шумо барои шикастани сатр боз чанд фоизи иловагӣ мепардозед. Ин сарбор нархи мутобиқатпазирӣ аст ва барои аксари истифодаҳо ин муомилаи одилона аст.

Дар куҷо бо Base64 рӯбарӯ мешавед

Ҳамин ки шумо донед, ки ба чӣ нигоҳ кунед, Base64 дар компютери ҳаррӯза ҳама ҷо пайдо мешавад:

  • URI-ҳои маълумот. Тасвир ё ҳарфи хурд метавонад бевосита ба HTML ё CSS бо URI-и data: дарунсохта шавад, ки муҳтавои файл ҳамчун Base64 навишта шудааст. Браузер онро дар ҷо рамзкушоӣ мекунад ва дархости шабакавии ҷудогонаро сарфа мекунад.
  • Замимаҳои почта. MIME, стандарте, ки ба почта имкон медиҳад файлҳоро бибарад, ба Base64 такя мекунад, то замимаҳои бинариро тавассути системаи почтаи танҳо-матнӣ бесиб гузаронад.
  • Ҳисоббозгашти HTTP Basic. Сарлавҳаи маъмулии Authorization: Basic ... танҳо номи корбар ва рамзи убур бо ду нуқта пайвастшуда ва рамзгузошта бо Base64 аст — маҳз барои ҳамин ин ҳисоббозгашт ҳамеша бояд тавассути HTTPS кор кунад.
  • Токенҳо ва конфигуратсия. JSON Web Token-ҳо, сертификатҳо, калидҳои SSH ва бешумор арзишҳои конфигуратсия ҳамчун Base64 нигоҳ дошта ё интиқол дода мешаванд, то аз нусхабардорӣ-часпонидан ва нигаҳдории матнӣ зинда монанд.

Рамзгузорӣ рамзгузории махфӣ нест

Ин муҳимтарин чизест, ки бояд фаҳмид ва он ҳам навомӯзон ва ҳам барномасозони ботаҷрибаро ба хато меандозад. Base64 рамзгузории махфӣ нест ва ягон амниятеро таъмин намекунад. Дар он калиди махфӣ, рамзи убур ва чизи хусусие вуҷуд надорад. Табдил комилан ошкоро ва пурра баргарданда аст: ҳар касе, ки сатри Base64-ро мебинад, метавонад онро дар як сония ба байтҳои аслӣ рамзкушоӣ кунад, бо абзоре комилан монанд ба ҳамин.

Пас Base64 ҷои пинҳонкунии бади рамзи убур, калидҳои API ё ҳар арзиши ҳассос аст. Агар сатре танҳо ба назар дарҳам-барҳам расад, ин маънои муҳофизатшуданашро надорад. Рамзгузории махфӣ, баръакс, маълумотро бо калиди махфӣ табдил медиҳад, то танҳо соҳиби ҳамон калид онро хонда тавонад. Ин ду мушкилоти гуногунро ҳал мекунанд: рамзгузории махфӣ махфияти маълумотро муҳофизат мекунад, Base64 мутобиқатпазириро. Онҳо аксар вақт якҷоя истифода мешаванд — шумо метавонед маълумотро бо AES рамзгузории махфӣ кунед ва баъд шифрматнро бо Base64 рамзгузорӣ кунед, то тавассути каналии матнӣ гузарад — аммо яке ҳеҷ гоҳ ивазкунандаи дигаре нест.

Тасвири абстрактӣ, ки ба ҷараёни аломатҳои дурахшон пош хӯрда ва аз нав ҷамъ мешавад, арғувонии тира бо кабуд ва тиллоӣ
Рамзгузорӣ ва рамзкушоӣ комилан баргарданда — ва ҳеҷ махфиятеро пешниҳод намекунанд.

Рамзгузорӣ дар муқобили рамзкушоӣ

Ду самт танҳо тасвирҳои оинавии якдигаранд. Рамзгузорӣ матн ё маълумоти бинарии аслии шуморо мегирад ва сатри аломатии Base64-ро тавлид мекунад. Рамзкушоӣ сатри Base64-ро мегирад ва байтҳои дурусти аслиро аз нав месозад. Абзори мо ҳарду амалро бевосита дар браузери шумо иҷро мекунад — ҳеҷ чизе, ки шумо менависед ё мечаспонед, ҳеҷ гоҳ ба сервер фиристода намешавад, бинобар ин амалиёт комилан маҳаллӣ ва хусусист. Ин рамзкушоии токенеро, ки шумо ислоҳ мекунед, ё рамзгузории порчаеро, ки мехоҳед дарунсохта кунед, бидуни тарк кардани маълумоти шумо аз саҳифа бехатар мегардонад.

Барои табдилҳои марбут, абзори мо рамзгузорӣ/рамзкушоии URL-ро барои рамзгузории фоиз бубинед, ё рамзкушои JWT-ро вақте ки бояд қисматҳои Base64-и дохили токенро тафтиш кунед. Шумо инҳоро дар қатори дигар абзорҳои барномасозон-и мо пайдо мекунед.

Саволҳои зуд додашаванда

Оё Base64 як шакли рамзгузории махфист?

Не. Base64 рамзгузорист, на рамзгузории махфӣ. Он ягон калид истифода намебарад ва аз ҷониби ҳама пурра баргарданда аст, бинобар ин ягон амниятеро пешниҳод намекунад. Барои муҳофизати маълумоти ҳассос рамзгузории воқеӣ ба монанди AES ё RSA истифода баред.

Чаро Base64 маълумотро калонтар мекунад?

Base64 ҳар се байти вурудро ба чор аломати барориш табдил медиҳад, ки тахминан 33% ба ҳаҷм илова мекунад. Агар барориш ба сатрҳои дарозии собит тақсим шавад, шикастани сатр боз чанд фоизи иловагиро меафзояд.

Base64 кадом аломатҳоро истифода мебарад?

Алифбои стандартӣ 26 ҳарфи калон, 26 ҳарфи хурд, рақамҳои аз 0 то 9, ба замми аломатҳои плюс ва хат, бо аломати баробар барои пуркунӣ дар охир мебошад.

Оё ман метавонам рамзи убурро бехатар дар Base64 нигоҳ дорам?

Не. Base64 танҳо намуди зоҳирии маълумотро тағйир медиҳад, на ин ки кӣ онро хонда метавонад. Ҳар кас метавонад онро фавран рамзкушоӣ кунад. Рамзи убур бояд бо алгоритми қавӣ ҳашгузорӣ шавад ва сирҳо бояд рамзгузории махфӣ шаванд.

Оё ин абзори Base64 хусусист?

Бале. Рамзгузорӣ ва рамзкушоӣ комилан дар браузери шумо сурат мегирад. Ҳеҷ чизе, ки шумо ворид мекунед, бор карда ё ба ягон сервер фиристода намешавад, бинобар ин маълумоти шумо дар дастгоҳи худи шумо мемонад.

Фарқи байни рамзгузорӣ ва рамзкушоӣ чист?

Рамзгузорӣ матн ё бинарии аслиро ба сатри Base64 табдил медиҳад. Рамзкушоӣ ин амалро баръакс мекунад ва сатри Base64-ро ба байтҳои дурусти аслӣ бармегардонад. Онҳо амалиёти оинавианд.