{"id":13050,"date":"2024-04-01T13:55:38","date_gmt":"2024-04-01T11:55:38","guid":{"rendered":"https:\/\/wp.jochen.hayek.name\/blog-en\/?p=13050"},"modified":"2024-04-01T13:56:54","modified_gmt":"2024-04-01T11:56:54","slug":"sha-show-identical-files-sh","status":"publish","type":"post","link":"https:\/\/wp.jochen.hayek.name\/blog-en\/2024\/04\/01\/sha-show-identical-files-sh\/","title":{"rendered":"Secure Hash Algorithms AKA SHA \u2013 using shake-512sum for\u00a0show-identical-files.sh"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Secure_Hash_Algorithms\">https:\/\/en.wikipedia.org\/wiki\/Secure_Hash_Algorithms<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/SHA-3\">https:\/\/en.wikipedia.org\/wiki\/SHA-3<\/a> \u2013 &#8220;is the latest member of the Secure Hash Algorithm family of standards&#8221;<\/li>\n\n\n\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/SHA-2\">https:\/\/en.wikipedia.org\/wiki\/SHA-2<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/SHA-1\">https:\/\/en.wikipedia.org\/wiki\/SHA-1<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">There is a book at O&#8217;Reilly&#8217;s:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>https:\/\/learning.oreilly.com\/library\/view\/classic-shell-scripting\/0596005954\/ \u2013 &#8220;Classic Shell Scripting&#8221;<\/li>\n\n\n\n<li>https:\/\/learning.oreilly.com\/library\/view\/classic-shell-scripting\/0596005954\/examples_page.html \u2013 the book comes with very nice supplemental files and examples<\/li>\n\n\n\n<li>one of these examples is: show-identical-files.sh<\/li>\n\n\n\n<li>you can find it there in the &#8220;sh&#8221; subdirectory<\/li>\n\n\n\n<li>that script makes use of md5sum as <em>checksum utility<\/em>, but in my copy I replaced it with sha512sum resp. shake-512sum<\/li>\n\n\n\n<li>that checksum utility makes that script decide, whether files are &#8220;the same&#8221;<\/li>\n\n\n\n<li>I have been using that script &#8220;almost every day of my life&#8221; for so many years for finding identical files having deliberate different names \u2013 it groups files by their checksums computed by this checksum utility<\/li>\n\n\n\n<li>this script has worked for me on Unix, Linux, macosx, \u2026, and busybox<\/li>\n\n\n\n<li>I have no quicker and safer way to find copies of files \u2013 \u2026 and removing unnecessary copies<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>There is a book at O&#8217;Reilly&#8217;s:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":false,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[67,68],"tags":[],"class_list":["post-13050","post","type-post","status-publish","format-standard","hentry","category-computer-science","category-computer-security"],"share_on_mastodon":{"url":"","error":""},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paO0kP-3ou","jetpack_likes_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts\/13050","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/comments?post=13050"}],"version-history":[{"count":4,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts\/13050\/revisions"}],"predecessor-version":[{"id":13055,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/posts\/13050\/revisions\/13055"}],"wp:attachment":[{"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/media?parent=13050"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/categories?post=13050"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.jochen.hayek.name\/blog-en\/wp-json\/wp\/v2\/tags?post=13050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}