Skip to main content

Ano ang hashes?

Ang mga hashes ay mga formula ng matematika na kumukuha ng isang string ng data ng variable na haba, karaniwang sa anyo ng teksto, at i-convert ito sa mas maikli, naayos na haba na mga halaga ng numero.Ang mga hashes ay madalas na ginagamit sa mga database ng computer upang gawing mas mabilis at mas mahusay ang mga paghahanap.Ginagamit din ang mga ito sa pag -encrypt upang matiyak na ang mga password ay hindi nakompromiso at upang patunayan ang mga digital na lagda, bukod sa iba pang mga gamit.Ang mga hashes ay dumadaan din sa pangalan ng mga pag -andar ng hash, at maaari ring isaalang -alang ang mga algorithm.

Ang mga hashes ay naglalaro ng isang malaking papel sa pagpapadali sa mga paghahanap sa database.Sa isang database na binubuo ng mga pangalan, halimbawa, kung ang isang gumagamit ay naghahanap para sa "John Doe," ang computer ay kailangang tumugma sa lahat ng mga character sa paghahanap sa bawat entry ng database.Ang bawat karakter sa pangalan ay magkakaroon ng 26 iba't ibang mga posibilidad at mdash;ang mga titik ng alpabeto ng Ingles at mdash;Habang ang variable na haba ng mga entry ay magpapabagal din sa paghahanap.Ang pag -on ng bawat text string sa isang serye ng mga numero ay gawing simple ang paghahanap, dahil ang computer ay magkakaroon lamang ng sampung posibilidad na suriin para sa bawat karakter: Mga Digit na "0" hanggang "9."Ang nakapirming haba ng serye ng numero ay tumutulong din sa computer na gawin ang trabaho nito nang mas mahusay.

Sa isang database na may isang function na hash na inilalapat, ang lahat ng mga entry ay may kaukulang, natatanging numero.Ito ay tinatawag na isang hash key.Sa pagkakataong ito, kapag gumawa ka ng isang paghahanap, unang inilalapat ng computer ang hash function sa input na iyong isinulat, tulad ng "John Doe."Nagreresulta ito sa isang halaga ng numero, halimbawa "456789."Ang computer ay maaaring mabilis na tumugma sa resulta na ito sa hash key na naaayon sa tamang pagpasok.

Ang mga hashes ay gumagana din bilang mga digital na lagda.Halimbawa, ang isang nagpadala, si Robert, ay nais na magpadala ng isang dokumento sa isang tao at ang tatanggap na si Maria, ay nais na tiyakin na ang dokumento ay hindi na -tampuhan habang nasa ruta.Ang nagpadala, si Robert, ay dapat lamang patakbuhin ang dokumento sa pamamagitan ng isang hash function, na nagreresulta sa isang halaga ng numero.Pagkatapos ay isinama ni Robert ang hash key at ipinapadala ang dokumento kasama ang naka -encrypt na susi.

Tumatanggap si Maria ng parehong mga item at decrypts ang hash key.Maaari na niyang makita ang halaga ng numero na nagreresulta mula sa dokumento bago ito maipadala.Upang mapatunayan na ang dokumento sa kanyang mga kamay ay ang eksaktong pareho, pinapatakbo niya ang dokumento sa pamamagitan ng isang hash function sa kanyang computer.Panghuli, inihahambing niya ang parehong mga susi.Kung pareho sila, kung gayon ang dokumento ay hindi binago papunta sa tatanggap.

Maraming iba't ibang mga pag -andar ng hash ang umiiral, ang bawat isa ay may sariling mga pormula sa matematika.Para sa isang pag -andar ng hash upang gumana, dapat itong mabawasan ang anumang pagbangga, na nangyayari kapag ang dalawang mga entry sa database ay may parehong hash key.Ang mga pag-andar ng hash ay dapat ding maging one-way.Nangangahulugan ito na maaari kang makagawa ng isang susi mula sa isang entry sa database o dokumento, ngunit hindi sa iba pang paraan sa paligid.Sa madaling salita, hindi mo maaaring "reverse-engineer" ang orihinal na dokumento mula sa hash key nito.