КампутарыПраграмаванне

Хэш-функцыя: што гэта такое, навошта патрэбна і якой бывае

Нярэдка пры запампоўцы торэнтаў або непасрэдна саміх файлаў у апісанні варта нешта накшталт «ad33e486d0578a892b8vbd8b19e28754» (напрыклад, у ex.ua), нярэдка з прыпіскай «md5». Гэта Хэш-код - вынік, які выдае хэш-функцыя пасля апрацоўкі ўваходных дадзеных. У перакладзе з ангельскага хэш пазначае блытаніну, марыхуану, траўку ці страва з дробна нарэзанага мяса і гародніны. Расшыфраваць хэш вельмі і вельмі складана, можна сказаць, што практычна немагчыма. Тады ўзнікае пытанне: «Навошта наогул патрэбныя ўсе гэтыя хэш-функцыі, калі яны выдаюць незразумелую абракадабру, якая яшчэ і не паддаецца расшыфроўцы?». Пра гэта і пойдзе гаворка ў дадзеным артыкуле.

Што такое хэш-функцыя і як яна дзейнічае?

Дадзеная функцыя прызначана для пераўтварэння ўваходных дадзеных калі заўгодна вялікага памеру ў вынік фіксаванай даўжыні. Сам працэс такога пераўтварэння называецца Хэшаванне, а вынік - хэшем або хэш-кодам. Часам яшчэ выкарыстоўваюць словы «адбітак» або «дайджэст паведамленні», але на практыцы яны сустракаюцца нашмат радзей. Існуе маса розных алгарытмаў таго, як можна ператварыць любы масіў дадзеных у нейкую паслядоўнасць знакаў пэўнай даўжыні. Найбольшае распаўсюджванне атрымаў алгарытм пад назвай md5, які быў распрацаваны яшчэ ў 1991 годзе. Нягледзячы на тое, што на сённяшні дзень md5 з'яўляецца некалькі састарэлым і да выкарыстання не рэкамендуецца, ён да гэтага часу ўсё яшчэ ў ходу і часта замест слова «Хэш-код», на сайтах проста пішуць md5 і паказваюць сам код.

Навошта патрэбна Хэш-функцыя?

Ведаючы вынік, практычна немагчыма вызначыць зыходныя дадзеныя, але адны і тыя ж ўваходныя дадзеныя даюць аднолькавы вынік. Таму хэш-функцыя (яе яшчэ называюць функцыя скруткі) часта выкарыстоўваецца для захоўвання вельмі важнай інфармацыі, такі як пароль, лагін, нумар пасведчання і іншая персанальная інфармацыя. Замест сравнивания звестак, якія ўводзяцца карыстальнікам, з тымі, якія захоўваюцца ў базе дадзеных, адбываецца супастаўленне іх Хэшаў. Гэта дае гарантыю, што пры выпадковай уцечцы інфармацыі ніхто не зможа скарыстацца важнымі дадзенымі для сваіх мэтаў. Шляхам параўнання хэш-кода таксама зручна правяраць правільнасць загрузкі файлаў з інтэрнэту, асабліва калі падчас запампоўкі адбываліся перабоі сувязі.

Хэш-функцыі: якімі яны бываю т

У залежнасці ад свайго прызначэння хэш-функцыя можа быць аднаго з трох тыпаў:

1. Функцыя для праверкі цэласнасці інфармацыі

Калі адбываецца перадача дадзеных па сетцы, адбываецца разлік хэша пакета, і гэты вынік таксама перадаецца разам з файлам. Пры прыёме зноў вылічаецца хэш-код і параўноўваецца з атрыманым па сетцы значэннем. Калі код не супадае, то гэта гаворыць пра памылкі, і сапсаваны пакет зноў будзе перададзены. У такой функцыі хуткая хуткасць разліку, але малая колькасць хэш значэнняў і дрэнная стабільнасць. Прыклад такога тыпу: CRC32, у якой усяго толькі 232 адрозніваюцца паміж сабой значэння.

2. крыптаграфічныя функцыя

Гэты тып выкарыстоўваецца для абароны ад несанкцыянаванага доступу (НД). Яны дазваляюць праверыць, ці не адбылося скажэнне дадзеных у выніку НД падчас перадачы файлаў па сетцы. Праўдзівы хэш ў гэтым выпадку агульнадаступны, а хэш атрыманага файла можна вылічыць з дапамогай мноства розных праграм. У такіх функцый доўгі і стабільны тэрмін працы, а пошук калізій (магчымых супадзенняў выніку ад розных зыходных дадзеных) вельмі ўскладнены. Менавіта такія функцыі выкарыстоўваюць для захоўвання ў БД пароляў (SH1, SH2, MD5) і іншай каштоўнай інфармацыі.

3. Функцыя, прызначаная для стварэння эфектыўнай структуры дадзеных

Яе мэтай з'яўляецца кампактная і даволі спарадкаваная арганізацыя звестак у спецыяльнай структуры, якая носіць назву хэш-табліцы. Такая табліца дазваляе дадаваць новую інфармацыю, выдаляць звесткі і выконваць пошук патрэбных дадзеных з вельмі высокай хуткасцю.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.delachieve.com. Theme powered by WordPress.