{"id":2263,"date":"2018-02-04T18:39:57","date_gmt":"2018-02-04T18:39:57","guid":{"rendered":"https:\/\/www.thesslstore.com\/knowledgebase\/?post_type=ht_kb&#038;p=2263"},"modified":"2021-06-22T18:14:43","modified_gmt":"2021-06-22T18:14:43","slug":"understanding-hash-functions","status":"publish","type":"ht_kb","link":"https:\/\/www.thesslstore.com\/knowledgebase\/ssl-basics\/understanding-hash-functions\/","title":{"rendered":"Understanding Hash Functions"},"content":{"rendered":"<h3>Maybe now you\u2019ll finally understand the name of our blog<\/h3>\n<p>Hashing is simply the practice of using an algorithm to map data of any length to a fixed-length output. It\u2019s useful in a number of ways and plays a role in several different types of <strong>encryption<\/strong>. We\u2019ve designed this article to help explain what hashing is and how it interacts with the encryption process.<\/p>\n<h2>What is Hashing?<\/h2>\n<p>Hashing is mapping data of any length to a fixed-length output using an <strong>algorithm<\/strong>. Typically, the hashing algorithm most people know of is SHA-2 or SHA-256. That\u2019s because it\u2019s the current standard for SSL encryption.<\/p>\n<p>The purpose of hashing is <strong>authentication<\/strong>. And to illustrate this, we\u2019ll use an example.<\/p>\n<p>Let\u2019s say I\u2019m sending you a message and you want to ensure that what you\u2019re receiving is what I intended. Or to put it another way, you want to make sure that the message hasn\u2019t been altered. To do this, I\u2019m going to send you the message, then I\u2019m going to send you a <strong>hash value<\/strong> and the <strong>algorithm<\/strong> I used to hash it. An algorithm is really just a set of steps or procedures. So I send you a message and the hash value. When you receive the message, you\u2019re going to <strong>re-hash<\/strong> it to see what value it produces. If the values are the same, then the message hasn\u2019t been tampered with.<\/p>\n<p>Keep in mind, no two pieces of data can produce the same output. If they do, this is called a <strong>collision<\/strong> and the algorithm is deemed unsafe. Google did this in 2017 to prove that SHA-1 was unsafe. That\u2019s why we now use SHA-2 (also known as SHA-256, for the length of its output \u2013 256 characters long).<\/p>\n<p>Hashing is essentially a <strong>one-way function<\/strong>. It\u2019s technically possible, but at this point infeasible to reverse a hash.<\/p>\n<h2>How is Hashing Used?<\/h2>\n<p>You\u2019ll oftentimes find hashing used in conjunction with <strong>Digital Signatures<\/strong>. For instance, say I want to perform a code signing. The actual code is far too large for my private key to sign, so instead I\u2019ll first hash the data and then sign it.<\/p>\n<p>When a user downloads the code, it\u2019s going to verify the <strong>signature<\/strong>, then it\u2019s going to run the same hash function against the code to see if it produces the same hash value. Provided it does, everything checks out and you\u2019re good to go. If not, you know something has happened to the software and the download is aborted.<\/p>\n<p>If you&#8217;re interested in learning more about hashing, or staying up-to-date on industry trends, subscribe to our blog <a href=\"https:\/\/www.thesslstore.com\/blog\/\">Hashed Out<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Maybe now you\u2019ll finally understand the name of our blog Hashing is simply the practice of using an algorithm to map data of any length to a fixed-length output. It\u2019s useful in a number of ways and plays a role in several different types of encryption. We\u2019ve designed this article&#8230;<\/p>\n","protected":false},"author":1,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"ht-kb-category":[67],"ht-kb-tag":[],"class_list":["post-2263","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-ssl-basics"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Understanding Hash Functions &amp; What Role Do Hashes Llay in TLS\/SSL Certificate<\/title>\n<meta name=\"description\" content=\"Hashing is simply the practice of using an algorithm to map data of any length to a fixed-length output. It\u2019s useful in a number of ways and plays a role in several different types of encryption. We\u2019ve designed this article to help explain what hashing is and how it interacts with the encryption process.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.thesslstore.com\/knowledgebase\/ssl-support\/understanding-hash-functions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding Hash Functions &amp; What Role Do Hashes Llay in TLS\/SSL Certificate\" \/>\n<meta property=\"og:description\" content=\"Hashing is simply the practice of using an algorithm to map data of any length to a fixed-length output. It\u2019s useful in a number of ways and plays a role in several different types of encryption. We\u2019ve designed this article to help explain what hashing is and how it interacts with the encryption process.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.thesslstore.com\/knowledgebase\/ssl-support\/understanding-hash-functions\/\" \/>\n<meta property=\"og:site_name\" content=\"Knowledge Base\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/thesslstoredotcom\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-22T18:14:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.thesslstore.com\/knowledgebase\/wp-content\/uploads\/2017\/04\/thesslstore.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Understanding Hash Functions &amp; What Role Do Hashes Llay in TLS\/SSL Certificate\" \/>\n<meta name=\"twitter:description\" content=\"Hashing is simply the practice of using an algorithm to map data of any length to a fixed-length output. It\u2019s useful in a number of ways and plays a role in several different types of encryption. We\u2019ve designed this article to help explain what hashing is and how it interacts with the encryption process.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.thesslstore.com\/knowledgebase\/wp-content\/uploads\/2017\/04\/thesslstore.jpg\" \/>\n<meta name=\"twitter:site\" content=\"@thesslstore\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Understanding Hash Functions & What Role Do Hashes Llay in TLS\/SSL Certificate","description":"Hashing is simply the practice of using an algorithm to map data of any length to a fixed-length output. It\u2019s useful in a number of ways and plays a role in several different types of encryption. We\u2019ve designed this article to help explain what hashing is and how it interacts with the encryption process.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.thesslstore.com\/knowledgebase\/ssl-support\/understanding-hash-functions\/","og_locale":"en_US","og_type":"article","og_title":"Understanding Hash Functions & What Role Do Hashes Llay in TLS\/SSL Certificate","og_description":"Hashing is simply the practice of using an algorithm to map data of any length to a fixed-length output. It\u2019s useful in a number of ways and plays a role in several different types of encryption. We\u2019ve designed this article to help explain what hashing is and how it interacts with the encryption process.","og_url":"https:\/\/www.thesslstore.com\/knowledgebase\/ssl-support\/understanding-hash-functions\/","og_site_name":"Knowledge Base","article_publisher":"https:\/\/www.facebook.com\/thesslstoredotcom","article_modified_time":"2021-06-22T18:14:43+00:00","og_image":[{"width":300,"height":300,"url":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-content\/uploads\/2017\/04\/thesslstore.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_title":"Understanding Hash Functions & What Role Do Hashes Llay in TLS\/SSL Certificate","twitter_description":"Hashing is simply the practice of using an algorithm to map data of any length to a fixed-length output. It\u2019s useful in a number of ways and plays a role in several different types of encryption. We\u2019ve designed this article to help explain what hashing is and how it interacts with the encryption process.","twitter_image":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-content\/uploads\/2017\/04\/thesslstore.jpg","twitter_site":"@thesslstore","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.thesslstore.com\/knowledgebase\/ssl-basics\/understanding-hash-functions\/","url":"https:\/\/www.thesslstore.com\/knowledgebase\/ssl-support\/understanding-hash-functions\/","name":"Understanding Hash Functions & What Role Do Hashes Llay in TLS\/SSL Certificate","isPartOf":{"@id":"https:\/\/www.thesslstore.com\/knowledgebase\/#website"},"datePublished":"2018-02-04T18:39:57+00:00","dateModified":"2021-06-22T18:14:43+00:00","description":"Hashing is simply the practice of using an algorithm to map data of any length to a fixed-length output. It\u2019s useful in a number of ways and plays a role in several different types of encryption. We\u2019ve designed this article to help explain what hashing is and how it interacts with the encryption process.","breadcrumb":{"@id":"https:\/\/www.thesslstore.com\/knowledgebase\/ssl-support\/understanding-hash-functions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.thesslstore.com\/knowledgebase\/ssl-support\/understanding-hash-functions\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.thesslstore.com\/knowledgebase\/ssl-support\/understanding-hash-functions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.thesslstore.com\/knowledgebase\/"},{"@type":"ListItem","position":2,"name":"Understanding Hash Functions"}]},{"@type":"WebSite","@id":"https:\/\/www.thesslstore.com\/knowledgebase\/#website","url":"https:\/\/www.thesslstore.com\/knowledgebase\/","name":"Knowledge Base","description":"TheSSLstore","publisher":{"@id":"https:\/\/www.thesslstore.com\/knowledgebase\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.thesslstore.com\/knowledgebase\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.thesslstore.com\/knowledgebase\/#organization","name":"The SSL Store\u2122","url":"https:\/\/www.thesslstore.com\/knowledgebase\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thesslstore.com\/knowledgebase\/#\/schema\/logo\/image\/","url":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-content\/uploads\/2017\/04\/thesslstore.jpg","contentUrl":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-content\/uploads\/2017\/04\/thesslstore.jpg","width":300,"height":300,"caption":"The SSL Store\u2122"},"image":{"@id":"https:\/\/www.thesslstore.com\/knowledgebase\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/thesslstoredotcom","https:\/\/x.com\/thesslstore","https:\/\/www.linkedin.com\/company\/the-ssl-store","https:\/\/www.youtube.com\/user\/thesslstore"]}]}},"_links":{"self":[{"href":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-json\/wp\/v2\/ht-kb\/2263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=2263"}],"version-history":[{"count":0,"href":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-json\/wp\/v2\/ht-kb\/2263\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=2263"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-json\/wp\/v2\/ht-kb-category?post=2263"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.thesslstore.com\/knowledgebase\/wp-json\/wp\/v2\/ht-kb-tag?post=2263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}