Skip to content

Latest commit

 

History

History
55 lines (29 loc) · 2.92 KB

7. The SHA algorithms.md

File metadata and controls

55 lines (29 loc) · 2.92 KB

The SHA algorithms

5-bobdagi xeshni eslaysizmi? Xulosa qilish uchun sizda kalit bor va siz tegishli qiymatni massivga qo'ymoqchisiz deylik.

image

Qiymatni qaysi uyaga qo'yish kerakligini aytish uchun siz hash funktsiyasidan foydalanasiz.

image

Va siz qiymatni o'sha uyaga qo'yasiz.

image

Bu sizga doimiy qidiruvlarni amalga oshirish imkonini beradi. Kalitning qiymatini bilmoqchi bo'lganingizda, xash funktsiyasidan yana foydalanishingiz mumkin va u sizga O(1) vaqtida qaysi slotni tekshirish kerakligini aytadi.

Bunday holda, siz hash funktsiyasi sizga yaxshi taqsimot berishini xohlaysiz. Shunday qilib, xesh funktsiyasi satrni oladi va sizga ushbu satr uchun slot raqamini beradi.

Comparing files

Yana bir xesh funktsiyasi xavfsiz xesh algoritmi (SHA) funktsiyasidir. Agar qator berilgan bo'lsa, SHA sizga ushbu satr uchun xeshni beradi.

image

Bu erda terminologiya biroz chalkash bo'lishi mumkin. SHA - bu hash funksiyasi. U xeshni hosil qiladi, bu shunchaki qisqa satrdir. Xesh-jadvallar uchun xesh funktsiyasi satrdan massiv indeksiga o'tdi, SHA esa satrdan satrga o'tadi.

SHA har bir satr uchun boshqa xeshni hosil qiladi.

image

Note

SHA xeshlari uzoq. Ular bu erda kesilgan.

Ikki fayl bir xil yoki yo'qligini aniqlash uchun SHA dan foydalanishingiz mumkin. Bu juda katta fayllarga ega bo'lganingizda foydalidir. Aytaylik, sizda 4 GB hajmli fayl bor. Do'stingizda bir xil katta fayl bor yoki yo'qligini tekshirmoqchisiz. Siz ularga katta faylingizni elektron pochta orqali yuborishga harakat qilishingiz shart emas. Buning o'rniga siz SHA xeshini hisoblashingiz va uni solishtirishingiz mumkin.

image

Checking passwords

SHA, shuningdek, asl satr nima ekanligini ko'rsatmasdan, satrlarni solishtirmoqchi bo'lsangiz ham foydalidir. Misol uchun, Gmail buzib tashlandi va tajovuzkor barcha parollarni o'g'irladi deylik! Parolingiz ochiqmi? Yo'q, unday emas. Google asl parolni saqlamaydi, faqat parolning SHA xeshini saqlaydi! Parolingizni kiritganingizda, Google uni xeshlaydi va maʼlumotlar bazasidagi xesh bilan tekshiradi.

image

Demak, bu faqat xeshlarni solishtirish — parolni saqlash shart emas! SHA bu kabi parollarni xeshlash uchun juda keng tarqalgan. Bu bir tomonlama xesh. Siz satrning xeshini olishingiz mumkin.

image

Lekin xeshdan asl satrni ololmaysiz.

image

Bu shuni anglatadiki, agar tajovuzkor SHA xeshlarini Gmail'dan olsa, ular bu xeshlarni asl parollarga qaytara olmaydi! Parolni xeshga aylantirishingiz mumkin, lekin aksincha emas.

SHA aslida algoritmlar oilasi: SHA-0, SHA-1, SHA-2 va SHA-3. Ushbu yozish paytida SHA-0 va SHA-1 ba'zi zaif tomonlarga ega. Agar parolni xeshlash uchun SHA algoritmidan foydalansangiz, SHA-2 yoki SHA-3 dan foydalaning. Parolni xeshlash funksiyalari uchun oltin standart hozirda bcrypt hisoblanadi (garchi hech narsa ishonchli emas).