MD5 Хэш кодын тооцоолуур
Нийтэлсэн: 2025 оны гуравдугаар сарын 19 20:47:45 (UTC)
Текст оруулах эсвэл файл байршуулахад үндэслэн хэш кодыг тооцоолохдоо Message Digest 5 (MD5) хэш функцийг ашигладаг хэш кодын тооцоолуур.MD5 Hash Code Calculator
MD5 (Мэдээллийн Хураангуй Алгоритм 5) нь 128-битийн (16-байт) хэш утга гаргадаг, өргөн хэрэглэгддэг криптографийн хэш функц бөгөөд ерөнхийдөө 32 тэмдэгттэй аравтын тооны хэлбэрээр илэрхийлэгддэг. Энэ нь 1991 онд Роналд Ривестээр зохиогдсон бөгөөд өгөгдлийн бүрэн бүтэн байдлыг шалгахад өргөн хэрэглэгддэг. Гэсэн хэдий ч, бичиж буй үедээ хэдэн жилийн турш аюулгүй байдлын зорилгоор ашиглахад тохиромжгүй гэж үзэгдсэн ч, файл бүрэн бүтэн байдлыг шалгахад өнөө ч өргөн хэрэглэгдсээр байна. Шинэ системүүдийг боловсруулж байх үед илүү сайн хувилбаруудын нэгийг ашиглахыг би санал болгож байна.
Бүрэн тодруулга: Би энэ хуудсанд ашигласан хэш функцийн тодорхой хэрэгжилтийг бичээгүй. Энэ нь PHP програмчлалын хэлэнд багтсан стандарт функц юм. Би зөвхөн вэб интерфэйсийг энд олон нийтэд нээлттэй болгох үүднээс хийсэн.
MD5 Хэш Алгоритмын Тухай
Хэш функцийн дотоод бүтцийг үнэхээр ойлгохын тулд математикт сайн байх хэрэгтэй бөгөөд би тэр хэмжээнд сайн биш, ядаж энэ түвшинд биш. Тиймээс би энэ хэш функцыг миний математикийн мэдлэг муутай нөхдөд ойлгомжтой байдлаар тайлбарлахаар оролдоно. Хэрэв та илүү нарийн, математик хүнд агуулгатай тайлбар хүсвэл түүнийг олон бусад вэбсайтуудад олох боломжтой ;-)
Юу ч гэх мэт, MD5-г супер ухаалаг холигч гэж төсөөлөөрэй. Та ямар ч төрлийн хоол (таны өгөгдөл) хийж хийнэ үү - жимс, ногоо эсвэл пицца ч байж болно - болон товчлуурыг дарахад үргэлж адилхан төрлийн смүүти өгдөг: 32 тэмдэгттэй "смүүти код" (MD5 хэш, онцлог нь 16-р тоон хэлбэрээр).
- Хэрэв та яг адилхан орцтойгоор оруулбал, яг адилхан смүүти кодыг авна.
- Гэвч та аль нэг жижиг зүйлийг (жишээлбэл нэг нэмэлт давс) өөрчилбөл, смүүти код бүрэн өөр болох болно.
"Холигч" хэрхэн ажилладаг вэ?
Хэдийгээр энэ нь ид шид мэт санагддаг ч, холигчийн дотор MD5 олон зүйлийг таслах, холих, эргүүлэх ажлыг хийж байна:
- Таслах: Энэ нь таны өгөгдлийг жижиг хэсгүүдэд хувааж (жишээ нь жимсийг таслах шиг) байдаг.
- Холих: Энэ нь нууц жор (математик дүрэм) ашиглан хэсгүүдийг холих бөгөөд бүх зүйлийг бужигнуулаад байдаг.
- Эргүүлэх: Энэ нь бүх зүйлийг маш хурдан эргүүлж, түүнийг анхны өгөгдөлтэй огтхон ч адилгүй код болгож бужигнуулдаг.
Та нэг үг оруулсан ч эсвэл бүтэн ном оруулсан ч хамаагүй, MD5 үргэлж 32 тэмдэгттэй кодыг өгөх болно.
MD5 өмнө нь маш аюулгүй байсан ч ухаалаг хүмүүс холигчыг хэрхэн хуурахыг олсон. Тэд хоёр өөр жорыг (хоёр өөр файлыг) олж, ямар нэгэн аргаар адилхан смүүти кодтой болдог. Энэ нь коллизи гэж нэрлэгддэг.
Төсөөлөөд үз дээ, хэн нэгэн танд "энэ нь эрүүл жимсний смүүти" гэсэн смүүти код өгч байна гэж. Гэвч та уухад энэ нь үнэхээр өөр зүйл болдог. Тиймээс MD5 нь нууц үг эсвэл аюулгүй байдалтай холбоотой зүйлсэд аюулгүй биш болсон.
Зарим хүмүүс үүнийг файлын бүтэн байдлыг шалгахад болон ижил төстэй зорилгоор хэрэглэхэд аюулгүй гэж хэлж байгаа ч, файлын бүтэн байдлыг шалгахад коллизи байх нь үнэхээр хүсэхгүй зүйл юм, учир нь энэ нь хэш-г адилхан хоёр файл гэж харагдуулна, тэд үнэхээр адил биш ч. Тиймээс аюулгүй байдлаас хамаарахгүй асуудал ч бай, би илүү аюулгүй хэш функц хэрэглэхийг зөвлөж байна. Энэ бичвэрийг бичиж байх үед, миний үндсэн хэрэглэдэг хэш функц нь SHA-256 юм.
Мэдээж, би үүнийг тооцоологчтойгоо хэрэглэдэг: SHA-256 Хэш кодын тооцоолуур.