Salom, mening ismim “Hashing”
Tasavvur qiling, sizda turli xil rangli bloklar bilan to‘la o‘yinchoq qutingiz bor. Aytaylik, siz qutingizdagi blokning har bir rangini ifodalovchi maxsus raqam (masalan, maxfiy kod) yaratmoqchisiz.
Masalan:
Qizil blok 🟥 = 1
Moviy blok 🟦 = 2
Yashil blok 🟩 = 3
Mana shu “hashing” ga misol bo‘la oladi. Ya’ni, biror narsani (masalan, ranglarni yoki so‘zlarni) raqamlarga yoki boshga kodga o‘zgartirish. O‘zgartirish jarayonida siz foydalangan algoritm (qizil bu 1, moviy bu 2 va hokazo) - hashing algoritmi deyiladi.
Ana endi tasavvur qiling, siz bir nechta shunday bloklardan foydalanib devor yasadingiz: 🟥🟦🟦🟥🟦🟩🟩🟩. Ushbu devorning bloklarini tepadagi hash algoritmidan o‘tkazsak bizda quyidagicha kod hosil bo‘ladi: 12212333. Bu kodni siz qurilgan devorning “checksum”i yoki “hashsum”i deyishingiz mumkin. Keyin, do‘stingizga qo‘ng‘iroq qilib xuddi shunday devor yasashni so‘radingiz. Siz va do‘stingiz bir xil natijaga erishdingizmi, yo‘qmi bilish uchun do‘stingizdan u qurgan devorning checksumini so‘rashingiz mumkin. Agar ular bir xil bo‘lsa, demak bir xil devor qurgan bo‘lasizlar. Agar har xil bo‘lsa, demak kimdir qayerdadir xatolikka yo‘l qo‘ygan.
Ho‘sh, bu nimaga kerak?
Deylik, siz bir juda katta faylni bir soat davomida yuklab oldingiz. Bu fayl to‘liqligicha yetib keldimi yoki biror bir baytlari tushib qoldimi, qayerdan bilasiz? Agar siz yuklab olgan website fayl bilan birgalikda checksumini ham bergan bo‘lsa, siz yuklab olgan faylingizni checksumini hisoblab solishtirishingiz mumkin. Agar ular bir-biriga to‘g‘ri kelgan bo‘lsa, demak bu fayl aynan siz kutgan fayl. To‘g‘ri kelmasa, demak nimadir noto‘g‘ri ketgan. Yo yuklab olish jarayonida muammo bo‘lgan yoki qandaydir yovuz niyatdagi odamlar faylning ichidagi ma’lumotlarni o‘zgartirib qo‘ygan.
Masalan, siz "Kahogi is the best” degan matnni yuklab olmoqchisiz. Uni MD5 hashlash algoritmidan o‘tkazsak, bizda “c12ad8211ced66b0bcbf1eb2ac981988” ko‘rinishdagi checksum hosil bo‘ladi. Endi kimdir bu matnni ataylab "Kahogi is not the best” deb o‘zgartirib qo‘ydi. Kichik bir o‘zgarish, faqatgina “not” so‘zi qo‘shilgan. Uni MD5 algoritmidan o‘tkazsak, “73cce9498e96c93288fa67eb84357cc1” ko‘rinishidagi checksum hosil bo‘ladi. Umuman boshqa checksum. Siz esa aqllisiz. Birinchi checksumni kelgan checksumga solishtirasiz va “Kahogi is not the best” noto‘g‘ri ekanligini anglab yetasiz.
Salom, mening ismim “Hashing” va bu mening jiyanim “Checksum”. Tanishganimdan xursandman.
@jakhonrakhmonov
Tasavvur qiling, sizda turli xil rangli bloklar bilan to‘la o‘yinchoq qutingiz bor. Aytaylik, siz qutingizdagi blokning har bir rangini ifodalovchi maxsus raqam (masalan, maxfiy kod) yaratmoqchisiz.
Masalan:
Qizil blok 🟥 = 1
Moviy blok 🟦 = 2
Yashil blok 🟩 = 3
Mana shu “hashing” ga misol bo‘la oladi. Ya’ni, biror narsani (masalan, ranglarni yoki so‘zlarni) raqamlarga yoki boshga kodga o‘zgartirish. O‘zgartirish jarayonida siz foydalangan algoritm (qizil bu 1, moviy bu 2 va hokazo) - hashing algoritmi deyiladi.
Ana endi tasavvur qiling, siz bir nechta shunday bloklardan foydalanib devor yasadingiz: 🟥🟦🟦🟥🟦🟩🟩🟩. Ushbu devorning bloklarini tepadagi hash algoritmidan o‘tkazsak bizda quyidagicha kod hosil bo‘ladi: 12212333. Bu kodni siz qurilgan devorning “checksum”i yoki “hashsum”i deyishingiz mumkin. Keyin, do‘stingizga qo‘ng‘iroq qilib xuddi shunday devor yasashni so‘radingiz. Siz va do‘stingiz bir xil natijaga erishdingizmi, yo‘qmi bilish uchun do‘stingizdan u qurgan devorning checksumini so‘rashingiz mumkin. Agar ular bir xil bo‘lsa, demak bir xil devor qurgan bo‘lasizlar. Agar har xil bo‘lsa, demak kimdir qayerdadir xatolikka yo‘l qo‘ygan.
Ho‘sh, bu nimaga kerak?
Deylik, siz bir juda katta faylni bir soat davomida yuklab oldingiz. Bu fayl to‘liqligicha yetib keldimi yoki biror bir baytlari tushib qoldimi, qayerdan bilasiz? Agar siz yuklab olgan website fayl bilan birgalikda checksumini ham bergan bo‘lsa, siz yuklab olgan faylingizni checksumini hisoblab solishtirishingiz mumkin. Agar ular bir-biriga to‘g‘ri kelgan bo‘lsa, demak bu fayl aynan siz kutgan fayl. To‘g‘ri kelmasa, demak nimadir noto‘g‘ri ketgan. Yo yuklab olish jarayonida muammo bo‘lgan yoki qandaydir yovuz niyatdagi odamlar faylning ichidagi ma’lumotlarni o‘zgartirib qo‘ygan.
Masalan, siz "Kahogi is the best” degan matnni yuklab olmoqchisiz. Uni MD5 hashlash algoritmidan o‘tkazsak, bizda “c12ad8211ced66b0bcbf1eb2ac981988” ko‘rinishdagi checksum hosil bo‘ladi. Endi kimdir bu matnni ataylab "Kahogi is not the best” deb o‘zgartirib qo‘ydi. Kichik bir o‘zgarish, faqatgina “not” so‘zi qo‘shilgan. Uni MD5 algoritmidan o‘tkazsak, “73cce9498e96c93288fa67eb84357cc1” ko‘rinishidagi checksum hosil bo‘ladi. Umuman boshqa checksum. Siz esa aqllisiz. Birinchi checksumni kelgan checksumga solishtirasiz va “Kahogi is not the best” noto‘g‘ri ekanligini anglab yetasiz.
Salom, mening ismim “Hashing” va bu mening jiyanim “Checksum”. Tanishganimdan xursandman.
@jakhonrakhmonov