CRC-32C Хэш кодын тооцоолуур
Нийтэлсэн: 2025 оны гуравдугаар сарын 19 20:52:21 (UTC)
Текст оруулах эсвэл файл байршуулах зэрэгт үндэслэн хэш кодыг тооцоолохдоо CRC-32C (Циклийн илүүдэл шалгах 32 бит, C хувилбар) хэш функцийг ашигладаг хэш кодын тооцоолуур.CRC-32C Hash Code Calculator
Cyclic Redundancy Check (CRC) нь түүхий өгөгдлийн санамсаргүй өөрчлөлтийг илрүүлэхэд түгээмэл хэрэглэгддэг алдаа илрүүлэх код юм. Техникийн хувьд криптограф хэш функц биш ч гэсэн CRC-32 нь хувьсах урттай оролтоос тогтмол хэмжээтэй гаралт (32 бит) гаргах чадвартай тул ихэвчлэн хэш гэж нэрлэдэг. Энэ хуудсанд танилцуулсан хувилбар нь CRC-32C хувилбар бөгөөд шинэ, "ухаалаг" (илүү сайн алдаа илрүүлэх) хувилбар бөгөөд ихэвчлэн орчин үеийн CPU-үүд (SSE 4.2-ээр дамжуулан) хурдасгадаг техник хангамж юм.
Бүрэн тодруулга: Би энэ хуудсанд ашигласан хэш функцийн тодорхой хэрэгжилтийг бичээгүй. Энэ нь PHP програмчлалын хэлэнд багтсан стандарт функц юм. Би зөвхөн вэб интерфэйсийг энд олон нийтэд нээлттэй болгох үүднээс хийсэн.
CRC-32C Хэш Алгоритмын Тухай
Би математикч биш ч энэ хэш функцыг энгийн жишээгээр тайлбарлахыг оролдож үзье. Олон криптографийн хэш функцуудтай харьцуулахад энэ нь онцгой төвөгтэй алгоритм биш бөгөөд магадгүй энэ нь асуудалгүй байх болно ;-)
Танд захиа илгээж байгаа гэж төсөөлөөд үз дээ, гэхдээ энэ нь хүлээн авагчид хүрэхээсээ өмнө гэмтэх вий гэж санаа зовж байна. Захидлын агуулгаас үндэслэн та CRC-32 шалгагчийг тооцоолон шуудангийн хайрцаг дээр бичиж өгнө. Хүлээн авагч захиа авч, тэр нь шалгагчийг тооцоолон таны бичсэнтэй тохирч байгаа эсэхийг шалгаж болно. Хэрвээ тохирч байвал, захиа замдаа гэмтэж эсвэл өөрчлөгдөөгүй байна.
CRC-32 үүнийг дөрвөн алхамаар гүйцэтгэдэг:
Алхам 1: Нэмэлт Орчиноо Оруулах (Давхарлан Хавчлах)
- CRC захидлын төгсгөлд багахан нэмэлт орчин оруулдаг ( хайрцагт савлах хөөс мэт).
- Энэ нь алдааг илүү хялбар илрүүлэхэд тусалдаг.
Алхам 2: Мунхаг Хэмжигч (Полином)
- CRC-32 өгөгдлийг хэмжихийн тулд тусгай "мунхаг хэмжигч" ашигладаг.
- Энэ хэмжигчийг бамбай ба ховилын хэв маяг гэж төсөөлөх хэрэгтэй (энэ бол полином бөгөөд энэ үгийг санаа зовохгүй байх).
- CRC-32-ийн хамгийн түгээмэл "хэмжигч" нь тогтмол хэв маяг юм.
Алхам 3: Хэмжигчийг Гулсуулж Хэмжих (Хуваах Процесс)
- Одоо CRC хэмжигчийг захидлын дагуу гулсуулдаг.
- Тухайн газарт, энэ нь бамбай ба ховилууд тохирч байгаа эсэхийг шалгадаг.
- Хэрвээ тэд тохирохгүй бол, CRC тэмдэглэл хийдэг (энэ нь энгийн XOR ашиглан хийгддэг, унтраалга асаах мэт).
- Тэрбээр гулсуулж, унтраалгуудыг асааж унтрааж дуусах хүртэл үргэлжлүүлдэг.
Алхам 4: Эцсийн Үр Дүн (Шалгагч)
- Хэмжигчийг бүхэлдээ захидлын дагуу гулсуулсны дараа, та эхний өгөгдлийг төлөөлдөг жижиг тоог (32 бит урттай) үлдээдэг.
- Энэ тоо нь захидлын онцгой хурууны хээг шиг байдаг.
- Энэ бол CRC-32 шалгагч юм.
Хуудас дээр танилцуулсан хувилбар нь CRC-32C хувилбар бөгөөд энэ нь илүү тохиромжтой хувилбар байх ёстой, ялангуяа хэрвээ та SSE 4.2 ба түүнээс дээш хувилбартай CPU ашиглаж байгаа бол энэ нь хардверийн хурдсалтаар дэмжигдсэн байдаг бөгөөд та бусад хувилбаруудтай нийцүүлэх шаардлагагүй.
Би бусад хувилбаруудын тооцоолууртай: