{"id":187,"date":"2012-06-15T13:57:26","date_gmt":"2012-06-15T20:57:26","guid":{"rendered":"http:\/\/www.klsoftware.com\/blog\/?p=187"},"modified":"2015-11-21T12:16:04","modified_gmt":"2015-11-21T19:16:04","slug":"groovy-well-is-just-groovy","status":"publish","type":"post","link":"https:\/\/www.klsoftware.com\/blog\/?p=187","title":{"rendered":"Groovy, well, is just groovy."},"content":{"rendered":"<p>At some point in your programming career, you will probably need to use an MD5 hash.  Most likely just to get the hash for a password.<\/p>\n<p>One of the simplest ways is to use groovy.  Here is the code.  Don&#8217;t even need to put it in the download section.  Just copy the code to a file and run it.<\/p>\n<pre class=\"brush: groovy; title: ; notranslate\" title=\"\">\r\nimport java.security.MessageDigest\r\n\r\nsrcWord = &quot;password&quot;\r\n\r\nif (args.length &gt; 0) {\r\n\tsrcWord = args&#x5B;0]\r\n}\r\n\r\nprintln &quot;src: &quot; + srcWord\r\nMessageDigest md5Digest;\r\nbyte&#x5B;] digest;\r\n\r\nprintln &quot;\\n****************************************\\n&quot;\r\n\r\n\/* MD5 Code *\/\r\nmd5Digest = MessageDigest.getInstance(&quot;MD5&quot;);\r\nmd5Digest.reset();\r\nmd5Digest.update(srcWord.getBytes());\r\ndigest = md5Digest.digest();\r\n\r\n\/\/ println &quot;new BigInteger(1,digest).toString(): &quot; + new BigInteger(1,digest).toString()\r\nprintln &quot;MD5: &quot; + new BigInteger(1,digest).toString(16)\r\nprintln &quot;MD5\/B64: &quot; + digest.encodeBase64().toString()\r\n\r\nprintln &quot;\\n****************************************\\n&quot;\r\n\r\n\/* Now do the same thing for SHA-1 *\/\r\nmd5Digest = MessageDigest.getInstance(&quot;SHA-1&quot;);\r\nmd5Digest.reset();\r\nmd5Digest.update(srcWord.getBytes());\r\ndigest = md5Digest.digest();\r\n\/\/ println &quot;src: &quot; + srcWord\r\n\/\/ println &quot;new BigInteger(1,digest).toString(): &quot; + new BigInteger(1,digest).toString()\r\nprintln &quot;SHA-1: &quot; + new BigInteger(1,digest).toString(16)\r\nprintln &quot;SHA-1\/B64: &quot; + digest.encodeBase64().toString()\r\n\r\nprintln &quot;\\n****************************************\\n&quot;\r\n\r\n\/* Now do the same thing for SHA-256 *\/\r\nmd5Digest = MessageDigest.getInstance(&quot;SHA-256&quot;);\r\nmd5Digest.reset();\r\nmd5Digest.update(srcWord.getBytes());\r\ndigest = md5Digest.digest();\r\n\/\/ println &quot;src: &quot; + srcWord\r\n\/\/ println &quot;new BigInteger(1,digest).toString(): &quot; + new BigInteger(1,digest).toString()\r\nprintln &quot;SHA-256: &quot; + new BigInteger(1,digest).toString(16)\r\nprintln &quot;SHA-256\/B64: &quot; + digest.encodeBase64().toString()\r\n\r\nprintln &quot;\\n****************************************\\n&quot;\r\n\r\n\/* Now do the same thing for SHA-512 *\/\r\nmd5Digest = MessageDigest.getInstance(&quot;SHA-512&quot;);\r\nmd5Digest.reset();\r\nmd5Digest.update(srcWord.getBytes());\r\ndigest = md5Digest.digest();\r\n\/\/ println &quot;src: &quot; + srcWord\r\n\/\/ println &quot;new BigInteger(1,digest).toString(): &quot; + new BigInteger(1,digest).toString()\r\nprintln &quot;SHA-512: &quot; + new BigInteger(1,digest).toString(16)\r\nprintln &quot;SHA-412\/B64: &quot; + digest.encodeBase64().toString()\r\n\r\nprintln &quot;\\n****************************************\\n&quot;\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>At some point in your programming career, you will probably need to use an MD5 hash. Most likely just to get the hash for a password. One of the simplest ways is to use groovy. Here is the code. Don&#8217;t even need to put it in the download section. Just copy the code to a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-187","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=187"}],"version-history":[{"count":8,"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/187\/revisions"}],"predecessor-version":[{"id":249,"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/187\/revisions\/249"}],"wp:attachment":[{"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.klsoftware.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}