{"id":9232,"date":"2022-08-06T10:02:56","date_gmt":"2022-08-06T10:02:56","guid":{"rendered":"https:\/\/max-drake.cc\/?p=9232"},"modified":"2022-08-06T10:04:26","modified_gmt":"2022-08-06T10:04:26","slug":"file-checksums","status":"publish","type":"post","link":"https:\/\/max-drake.cc\/?p=9232","title":{"rendered":"File Checksums"},"content":{"rendered":"\n<p>This seems interesting, using file size to check integrity of transfer and file is valid. <\/p>\n\n\n\n<p>from Wiki <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>A <strong>checksum<\/strong> is a small-sized <a href=\"https:\/\/en.wikipedia.org\/wiki\/Block_(data_storage)\">block<\/a> of data derived from another block of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Digital_data\">digital data<\/a> for the purpose of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Error_detection\">detecting errors<\/a> that may have been introduced during its <a href=\"https:\/\/en.wikipedia.org\/wiki\/Telecommunication\">transmission<\/a> or <a href=\"https:\/\/en.wikipedia.org\/wiki\/Computer_storage\">storage<\/a>. By themselves, checksums are often used to verify <a href=\"https:\/\/en.wikipedia.org\/wiki\/Data_integrity\">data integrity<\/a> but are not relied upon to verify <a href=\"https:\/\/en.wikipedia.org\/wiki\/Data_authenticity\">data authenticity<\/a>.<sup><a href=\"https:\/\/en.wikipedia.org\/wiki\/Checksum#cite_note-1\">[1]<\/a><\/sup><\/p><p>The <a href=\"https:\/\/en.wikipedia.org\/wiki\/Algorithm\">procedure<\/a> which generates this checksum is called a <strong>checksum function<\/strong> or <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Checksum_algorithm\">checksum algorithm<\/a><\/strong>. Depending on its design goals, a good checksum algorithm usually outputs a significantly different value, even for small changes made to the input.<sup><a href=\"https:\/\/en.wikipedia.org\/wiki\/Checksum#cite_note-2\">[2]<\/a><\/sup> This is especially true of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cryptographic_hash_function\">cryptographic hash functions<\/a>, which may be used to detect many data corruption errors and verify overall <a href=\"https:\/\/en.wikipedia.org\/wiki\/Data_integrity\">data integrity<\/a>; if the computed checksum for the current data input matches the stored value of a previously computed checksum, there is a very high probability the data has not been accidentally altered or corrupted.<\/p><p>Checksum functions are related to <a href=\"https:\/\/en.wikipedia.org\/wiki\/Hash_function\">hash functions<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Fingerprint_(computing)\">fingerprints<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Randomization_function\">randomization functions<\/a>, and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cryptographic_hash_function\">cryptographic hash functions<\/a>. However, each of those concepts has different applications and therefore different design goals. For instance, a function returning the start of a string can provide a hash appropriate for some applications but will never be a suitable checksum. Checksums are used as <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cryptographic_primitive\">cryptographic primitives<\/a> in larger authentication algorithms. For cryptographic systems with these two specific design goals, see <a href=\"https:\/\/en.wikipedia.org\/wiki\/Hash-based_message_authentication_code\">HMAC<\/a>.<\/p><p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Check_digit\">Check digits<\/a> and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Parity_bit\">parity bits<\/a> are special cases of checksums, appropriate for small blocks of data (such as <a href=\"https:\/\/en.wikipedia.org\/wiki\/Social_Security_number\">Social Security numbers<\/a>, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Bank_account\">bank account<\/a> numbers, <a href=\"https:\/\/en.wikipedia.org\/wiki\/Word_(data_type)\">computer words<\/a>, single <a href=\"https:\/\/en.wikipedia.org\/wiki\/Byte\">bytes<\/a>, etc.). Some <a href=\"https:\/\/en.wikipedia.org\/wiki\/Error-correcting_code\">error-correcting codes<\/a> are based on special checksums which not only detect common errors but also allow the original data to be recovered in certain cases.<\/p><\/blockquote>\n\n\n\n<p>wiki<\/p>\n\n\n\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Checksum\">https:\/\/en.wikipedia.org\/wiki\/Checksum<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.lifewire.com\/what-does-checksum-mean-2625825\">https:\/\/www.lifewire.com\/what-does-checksum-mean-2625825<\/a><\/p>\n\n\n\n<p>Linux <\/p>\n\n\n\n<p><a href=\"https:\/\/www.freecodecamp.org\/news\/file-last-modified-in-inux-how-to-check-if-two-files-are-same\/\">https:\/\/www.freecodecamp.org\/news\/file-last-modified-in-inux-how-to-check-if-two-files-are-same\/<\/a><\/p>\n\n\n\n\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"How to Verify File Integrity with Checksum using PowerShell\" width=\"678\" height=\"381\" data-src=\"https:\/\/www.youtube.com\/embed\/O0s8tKTL_MA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">End Comment<\/h4>\n\n\n\n<p>An interesting idea, a part of encryption and security. I&#8217;ve no real use case but interesting to find out about.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This seems interesting, using file size to check integrity of transfer and file is valid. from Wiki A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9298,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[204,29],"tags":[],"class_list":["post-9232","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automation","category-web"],"featured_image_src":"https:\/\/max-drake.cc\/wp-content\/uploads\/2022\/08\/11-600x400.jpg","featured_image_src_square":"https:\/\/max-drake.cc\/wp-content\/uploads\/2022\/08\/11-600x600.jpg","author_info":{"display_name":"Max Drake","author_link":"https:\/\/max-drake.cc\/?author=1"},"_links":{"self":[{"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/posts\/9232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9232"}],"version-history":[{"count":4,"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/posts\/9232\/revisions"}],"predecessor-version":[{"id":9301,"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/posts\/9232\/revisions\/9301"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=\/wp\/v2\/media\/9298"}],"wp:attachment":[{"href":"https:\/\/max-drake.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/max-drake.cc\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}