خبر

  • تک بورد - Checksum چیست و با آن می توانید چه کاری انجام دهید؟

    Checksum چیست و با آن می توانید چه کاری انجام دهید؟
    8 روز و 18 ساعت قبل

    شما می خواهید روی یک دکمه بارگیری کلیک کنید و یک کد عجیب و غریب در کنار آن را مشاهده کنید. به نظر نمی رسد که کاری برای بزرگ بودن پرونده یا اینکه آیا موردی است که شما باید آن را یادداشت کنید ، انجام دهد. بنابراین شما جلو بروید ، پرونده را دریافت کنید ، و فاجعه! به نظر نمی رسد همان چیزی باشد که شما انتظار دارید.

    اگر فقط یک راه سریع وجود داشت که ببینید آیا موردی که تازه بارگیری کرده اید دقیقاً همان پرونده موجود در وب سایت است. خوب ، وجود دارد به دنیای چک باس خوش آمدید!

    فقط هک چیست؟

    TL؛ DR: جمع كنترل تعدادي است كه به شكل مقدار دودويي يا شانزده هزينه به دست مي آيد و از منبع داده بدست آمده است. بیت های مهم برای دانستن: یک جمع چک معمولاً بسیار کوچکتر از منبع داده است و تقریباً کاملاً منحصر به فرد است. به این معنی که احتمال داده شدن داده های دیگر دقیقاً به همین دسته چک بسیار بعید است.

    بیایید نگاهی به چند مثال بیندازیم ، نمونه اول یک فایل متنی ساده است (در زیر) ، حاوی برخی اطلاعات مهم! همه پرونده ها حاوی داده هایی هستند که بیش از متنی را که می توانیم ببینیم ، پوشش می دهد - بیت هایی اختصاص داده می شود که به ما بگویید این نوع پرونده چیست ، نحوه چیدمان داده ها و غیره است ...

    https://techbord.com Checksum چیست و با آن می توانید چه کاری انجام دهید؟ \

    همه اینها در روند ایجاد مجموعه چک کنترل می شوند و ما بعداً در این مقاله نحوه کارکرد آن و نحوه انجام کار خود را به شما نشان خواهیم داد.

    اما فعلاً اجازه دهید به مقداری که می گیریم نگاهی بیندازیم: ما نمی توانیم آن را "معکوس" کنیم تا بفهمیم الگوی آنهایی که صفر از آن متشکل شده است. با این حال ، فرض می شود که مختص آن پرونده خاص باشد ، بنابراین اجازه دهید با تنظیم مجدد برخی از کلمات ، متن اصلی را تغییر دهیم.

    \"

    تصویر بالا به وضوح نشان می دهد که همچنان همان است متن ، و به همین ترتیب از نظر فنی همان داده ها ، اما توالی بیت ها اکنون متفاوت است. و جمع کنترلی در این بازه زمانی این است: کاملاً یک مجموعه کنترل متفاوت است. داده های مشابه ، ترتیب متفاوت ، مجموع چک کاملاً جدید.

    اما شاید باید انتظار می رفت. پس از همه ، تغییرات در پرونده کاملاً بی اهمیت بود. بنابراین بگذارید ببینیم چه اتفاقی می افتد که فقط یک حرف را در کل تغییر دهیم: ببینید آیا می توانید کدام یک را تشخیص دهید!

    https://techbord.com Checksum چیست و با این کار چه کاری می توانید انجام دهید؟ \

    رول درام را در پس زمینه نشانه بگیرید ، زیرا ما به سختی به این بررسی می کنیم پرونده تغییر یافته.

    790DD6BF0733981E4EBF9BA116970D943D91C2CDD3531CF877E30F3E92F29453

    این تغییر فقط یک حرف یکبار دیگر کد منحصر به فرد دیگری به ما داده است. وقتی نوبت به چک باکس می رسد ، این تمام نکته سیستم است: هرگونه تغییر در یک منبع داده اصلی ، هرچقدر هم کوچک باشد ، باید منجر به یک جمع کنونی کاملاً جدید شود ، و تشخیص اینکه چیزی وجود دارد بسیار آسان است. تغییر کرده است.

    با این اوصاف ، بیایید ببینیم که چگونه همه کار می کند!

    فناوری پشت چک

    در قلب یک چک کنترلی الگوریتم نرم افزار است که برای ایجاد کدهایی که مشاهده کردیم استفاده می شود. در مورد نمونه های ما ، ما از یک نمونه رایج معروف به SHA-256 (الگوریتم هش امن - 256 بیت) استفاده کردیم. این الگوریتم نوعی تابع هش رمزنگاری (CHF) است که داده های منبع با عنوان پیام برچسب گذاری می شوند و خروجی را مقدار هش یا فقط هش می نامند (در این حالت جمع کنونی).

    توسعه یافته توسط NSA و تقریباً 20 سال پیش منتشر شد ، SHA-256 متعلق به دسته ای از CHF ها است که در سراسر جهان استفاده گسترده ای دارند. محبوبیت آنها به این دلیل است که آنها به سرعت کار می کنند و آنها در برابر تلاش برای "هک کردن" کد مقاومت می کنند - اگرچه این روزها موارد بسیار بهتری وجود دارد.

    https://techbord.com Checksum چیست و با آن می توانید چه کاری انجام دهید؟ \

    ستاد NSA - خانه به الگوریتم Secure Hash

    هر الگوریتم روش خاص خود را برای انجام کارها دارد ، اما ما فقط بر روی آنچه SHA-256 انجام می دهد تمرکز می کنیم. این فرایند همیشه یک هش به طول ثابت می دهد (در این حالت 256 بیت) ، صرف نظر از اینکه پیام چقدر بزرگ است ، اگرچه از نظر فنی در واقع 8 مقدار است ، اندازه هر 32 بیت است.

    بنابراین سربرگ فایل test1 ما در واقع 798B3808 4999FA50 E7D1861E 07E45F4E 3AA39668 DC6A12A8 4A058CAA A32DE0EB است. این به صورت هگزادسیمال نوشته شده است - نوشتن آن به عنوان یک رشته 256 عددی و صفرها بسیار خسته کننده خواهد بود!

    اولین قدم در توالی الگوریتم پردازش پیام است ، بنابراین " مجموعه ای از بلوک ها ، اندازه هر 512 بیت. برای پرونده هایی که تعداد آنها 512 برابر نیست ، یا اگر پرونده کوچکتر از این اندازه باشد ، ترفندی به نام padding استفاده می شود. این جایی است که پس از پایان بیت های پیام ، تعداد زیادی صفر اضافه می شود تا آن را به دور 512 تبدیل کنید.

    https://techbord.com Checksum چیست و با این کار چه کاری می توانید انجام دهید؟ \

    به عنوان مثال ، اجازه دهید بگوییم که ما سعی در یافتن مجمع کنترل داریم از فایلی که اندازه کلی آن 10145 بیت است. این می تواند به 19 بلوک کامل تبدیل شود و 417 بیت باقی مانده برای پر کردن باقی بماند. برای نشان دادن محل پایان داده ها و شروع بالشتک ، رشته بیت هایی که منبع را تشکیل می دهند 1 عدد به انتهای آن اضافه شده است. بنابراین ، در اینجا ، بالشتک 352 صفر اضافه می شود.

    معلق باشید ، چرا 416 نیست؟ قسمت آخر بلوک آخر یک عدد ویژه 64 بیتی است: طول پرونده اصلی. به این معنی که ، برای مثال ما ، بلوک 20 باید با مقدار باینری 10145 به پایان برسد ، در نتیجه پیام فقط 402 بیت فضای خالی برای پر کردن نیاز دارد.

    پس از انجام این کار ، الگوریتم اولین بلاک 512 بیتی را می گیرد و آن را به 16 قسمت تقسیم می کند ، طول هر کدام 32 بیت است. هر یک از این مقادیر در فرایند محاسبه هش استفاده خواهد شد.

    تا این مرحله ، این قسمت آسان است: بقیه مراحل شامل ریاضیات زیادی است.

    https://techbord.com Checksum چیست و با آن می توانید چه کار کنید؟ \

    سازندگان تراشه مانند اینتل برای محاسبه مقادیر هش SHA-256 طرح های معماری را برای دستگاه های FPGA ارائه می دهد

    این کاملاً فراتر از محدوده این مقاله است ، اما اگر شما علاقه مند به جزئیات بیشتر در مورد آن هستید ، می توانید در اینجا بیشتر بخوانید اما برای اینکه یک مرور مختصر به شما بدهم ، این کار ابتدا ایجاد یک هش شروع با استفاده از 8 عدد اول است. اینها از طریق یک معادله برای بدست آوردن مقدار طولانی 256 بیتی که پس از آن بارها و بارها تغییر می یابد ، اجرا می شوند ، زیرا بقیه الگوریتم ها از طریق تمام قسمت ها ، در هر بلوک ، از داده های منبع پردازش شده کار می کنند.

    به نظر وحشتناک پیچیده است ، بله؟ اگرچه برای یک پردازنده مرکزی مدرن ، این یک قطعه کیک است.

    برای تولید هش برای هر بایت داده منبع ، بیش از دوازده چرخه پردازنده طول نمی کشد.

    بنابراین با یک مجموعه کنترل چه کاری می توانید انجام دهید؟

    TL؛ DR: یک بخش کنترل به شما امکان می دهد تا به راحتی یکپارچگی داده های تشکیل دهنده یک پرونده را بررسی کنید.

    این سناریو را تصویر کنید: شما باید یک فایل مهم را بارگیری کنید ، که برای آن مهم است کار با کامپیوتر واقعاً حیاتی ، تا حدی که شما نمی خواهید خطا یا اشکالی در آن وجود داشته باشد. شما همچنین یک اتصال اینترنتی آهسته و ناپایدار برقرار کرده اید و نگران این هستید که هنگام بارگیری روی پرونده تأثیر بگذارد.

    میزبان پرونده همه اینها را می داند ، بنابراین آنها یک الگوریتم checksum را روی فایل قرار دهید و پاسخ را در صفحه وب بارگیری قرار دهید. پس از دریافت آن ، می توانید همان روند را اجرا کنید و مقادیر را مقایسه کنید - اگر آنها یکسان باشند ، می دانید فایلی که بارگیری کرده اید مشکلی ندارد.

    https://techbord.com Checksum چیست و با آن می توانید چه کاری انجام دهید؟ \

    و این است استفاده اولیه از یک چک چک: بررسی یکپارچگی داده های تشکیل دهنده یک پرونده. همانطور که خیلی زود خواهیم دید ، این کار به صورت دستی انجام می شود ، یا می تواند بخشی از یک عملیات خودکار باشد. Valve به عنوان بخشی از فرآیند تأیید پرونده ، از شمول های کنترلی در پلت فرم Steam استفاده می کند.

    جمع کنونی خود را اجرا کنید

    همه سیستم عامل های اصلی نیز دارای یک ابزار جمع کنونی داخلی هستند.

    Windows

    برای اجرای یک جمع کنونی در ویندوز ، ساده ترین راه استفاده از PowerShell است: بر روی دکمه Start Menu کلیک راست کرده یا Win + X را فشار دهید. اگر نسخه قدیمی ویندوز خود را اجرا می کنید ، می توانید PowerShell را از اینجا بارگیری کنید.

    دستور get-filehash و به دنبال آن مکان فایل را وارد کنید. متناوباً ، دستور را وارد کنید و سپس پرونده را در پنجره PowerShell بکشید و رها کنید. در اینجا نحوه انجام اولین پرونده آزمایشی ما آورده شده است.

    https://techbord.com What\'s Checksum، و چه کاری می توانید با آن انجام دهید؟

    به طور پیش فرض ، PowerShell از SHA-256 برای تولید کنترلی استفاده می کند ، اما شما می توانید از سایر موارد مانند SHA-512 یا MD5 استفاده کنید. همه اینها هش متفاوتی تولید می کنند ، اما همچنان برای آن پرونده منحصر به فرد خواهد بود. برای استفاده از یک تابع متفاوت ، دستور -الگوریتم و به دنبال آن کد را برای آن اضافه کنید.

    برای چک کردن ، استفاده از یک تابع هش متفاوت مزایای قابل توجهی ندارد ، اگرچه برخی از موارد قدیمی تر (به عنوان مثال نشان داده شده است که MD5 ، SHA-1 هش یکسان را برای پرونده های مختلف تولید می کند - مسئله ای که به عنوان برخورد شناخته می شود. الگوریتم های جدید مقاومت بیشتری در برابر برخورد دارند ، به همین دلیل PowerShell به طور پیش فرض SHA-256 را نشان می دهد.

    https://techbord. com Checksum چیست و با آن می توانید چه کاری انجام دهید؟

    دلیل اصلی نیاز به تغییر عملکرد متفاوت این است که میزبان پرونده قصد دارد از چیزی غیر از SHA-256 استفاده کند ، بنابراین برای مقایسه پرونده ها باید به این قسمت روی بیاورید.

    مقایسه دو رشته طولانی اعداد و حروف انجام این کار کمی دشوار است ، اما با کمی برنامه نویسی ، شما می توانید PowerShell را کنترل کنید که برای شما چک باکس کنترل کند. بیایید از کد MD5 بالا استفاده کنیم و وانمود کنیم که پرونده اصلی هش با شماره 8 به پایان رسیده است.

    تصویر زیر با استفاده از کد زیر خطوط کدی را که باید وارد کنید نشان می دهد Shift + بعد از هر یک وارد شوید.

    https://techbord.com مجموعه کنترل چیست و چه کاری می توانید انجام دهید با استفاده از آن؟

    نحوه نوشتن \" غلط "را مشاهده می کنید؟ این به شما می گوید که پرونده همان نیست. اگر مطمئن هستید که هش صحیح پرونده مورد نظر خود را در اختیار دارید ، همه سو on ظن به اطلاعات مربوط می شود.

    توجه داشته باشید که یک مجموعه کنترل نمی تواند به شما بگوید که تفاوت پرونده ها چیست - اگر جناس را عفو کنید ، این یک آزمون بسیار باینری است. اما این یک ابزار مفید است و در اینجا برخی از توابع کنترل خاص بسیار خاص (مانند چک رقم و بیت چک) که به طور مداوم استفاده می شود ، برای جستجوی خطاهای موجود در داده ها است.

    مایکروسافت PowerShell را برای macOS 10.13 یا جدیدتر و لینوکس نیز ، اما اگر فکر استفاده از چیزی که از ویندوز منشأ شما را گرفته است ، می دانید که می توانید همین کار را در هر دو سیستم عامل انجام دهید.

    macOS

    برای کاربران Mac ، باید برنامه Terminal را که در پوشه Utilities در برنامه ها است ، روشن کنید. دستورات وارد شده shasum -a 256 است ، به دنبال آن آدرس فایلی است که می خواهید بررسی کنید (یا فقط آن را بکشید و در پنجره Terminal رها کنید).

    \

    دستورالعمل shasum معادل Get-FileHash در PowerShell است و قسمت \ \'- a 256 \\' برای مشخص کردن الگوریتم مورد نظر وجود دارد: 1 برای SHA-1 ، 256 برای SHA-256 و 512 برای SHA-512.

    توجه داشته باشید که چگونه از فایل PowerShell در ویندوز استفاده کرده ایم و برای تیم آزمایشی همان مجموعه آزمون وجود دارد؟ این قدرت واقعی آن است: مهم نیست که از چه رایانه یا سیستم سیستمی استفاده می کنید ، تا زمانی که الگوریتم یکسان باشد ، همیشه مقادیر هش خواهید داشت که مستقیماً قابل مقایسه هستند.

    Linux

    اگر از لذتهای لینوکس طرفداری می کنید ، خوشحال خواهید شد که بدانید این همان فرایند بالا است - ترمینال را روشن کنید و sha1sum ، sha256sum یا sha512sum را وارد کنید و به دنبال آن آدرس فایل به هش مورد نیاز را ایجاد کنید.

    \

    یک بار دیگر ، می بینید که ما برای چک کردن پرونده متنی خود از همین چک چک برخوردار هستیم. همه اجراها دقیقاً همان ریاضیات را برای ایجاد هش انجام می دهند ، بنابراین هیچ یک از اینها تعجب آور نیست ، اما دانستن اینکه شمارش کناری را می توان در هر دستگاه محاسباتی انجام داد بسیار راحت است.

    افزودن قدرت بارگیری های شما

    با توجه به سریع و آسان بودن چک باکس ها ، شاید کمی تعجب آور باشد که ما آنها را بیشتر یا بیشتر انجام ندهیم.

    در حالی که موارد مشابه Steam این فرایند را برای ما به صورت خودکار اداره کنید ، ما به میزبان پرونده که به ارائه چک چک های دقیق داده های ارائه شده متکی هستیم. به عنوان مثال ، در مورد بارگیری TechSpot ، ما صریحاً یک چک چک ارائه نمی دهیم اما ابزاری که برای تأیید پاک بودن بارگیری ها استفاده می کنیم ، مانند VirusTotal ، برای تأیید یکپارچگی پرونده ها و جمع آوری داده ها در چندین طرف ، از checksum برای استفاده با گذشت زمان ، همان پرونده را اسکن کنید.

    برخی از وب سایت ها برای هر پرونده چکوم می کنند ، در حالی که دیگران فقط برای موارد مهم یا خیلی بزرگ این کار را انجام می دهند (به عنوان مثال مایکروسافت در بخشهای بارگیری امن خود) ، اما این یک پرونده منظره نادر به طور فزاینده ای دلایل مختلفی ممکن است وجود داشته باشد ، از جمله اینکه مردم به راحتی از آنها آگاهی ندارند.

    اما در جایی که میزبان ها آن را ارائه می دهند ، حداقل شما اکنون می دانید که چگونه می توانید از هش استفاده کنید - هر چیز اضافی برای به شما کمی بیشتر ذهن بدهید همیشه چیز خوبی است.

    .subDriveRevBot {margin: 30px 0 25px؛ شعاع مرز: 3px؛ ارتفاع خط: 1.5؛ اندازه قلم: 0.9em؛ رنگ: #fff؛ background-color: # 1d4d84؛ مکان نما: اشاره گر؛ background-repeat: بدون تکرار ؛ اندازه پس زمینه: حاوی background-position: right؛ } .subDriveRevBot: شناور {background-color: # 245996؛ انتقال: 0.4 ثانیه خطی ؛ } .subDriveRevBot a {color: #fff؛ نمایش: بلوک؛ عرض: 100٪ قد: 100٪ } .subDriveRevBot a: hover {color: #fff؛ } .subDriveRevBot .titlerr {پس زمینه: rgba (30 ، 41 ، 51 ، 0.63)؛ بالشتک: 10px 20px 7px؛ رنگ: #fff؛ نوع قلم: مورب؛ فاصله نامه: -0.1px؛ نمایش: بلوک؛ شعاع مرز: 3px؛ اندازه قلم: 0.9em؛ } .subDriveRevBot .remark {font-weight: 500؛ رنگ: # f29f26؛ font-family: Roboto؛ } .subDriveRevBot .remarknew {font-weight: 500؛ رنگ: #ea؛ font-family: Roboto؛ } .subDriveRevBot .bulll {margin-bottom: 5px! important؛ padding: 15px 5px} اگر از مطالب ما لذت می برید ، لطفاً مشترک شوید ... تجربه TechSpot بدون آگهی در حالی که از کار ما پشتیبانی می کنید وعده ما: همه مشارکت خوانندگان در جهت تأمین بودجه محتوای بیشتر خواهد بود ، این بدان معناست: ویژگی های فنی بیشتر ، معیارها و تحلیل بیشتر





خبرهای دیگر از امکانات