{"id":16303,"date":"2021-02-12T13:22:30","date_gmt":"2021-02-12T12:22:30","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=16303"},"modified":"2021-05-20T16:05:23","modified_gmt":"2021-05-20T14:05:23","slug":"ripemd160","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=16303","title":{"rendered":"Auf der Terrasse sitzen geht wegen 0,5 Meter Schnee nicht, deshalb Ripemd-160 eine Millionen check"},"content":{"rendered":"<p>Auf der Terrasse sitzen geht wegen 0,5 Meter Schnee nicht<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/schnee-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/schnee-768x1024.jpg\" alt=\"\" width=\"525\" height=\"700\" class=\"aligncenter size-large wp-image-16304\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/schnee-768x1024.jpg 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/schnee-225x300.jpg 225w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/schnee-1152x1536.jpg 1152w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/schnee-1536x2048.jpg 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/schnee-scaled.jpg 1920w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/a> <\/p>\n<p>deshalb <strong>Ripemd-160<\/strong> JUnit Test mit eine Millionen check implementiert. &#8230; <!--more--><\/p>\n<pre class=\"lang:java decode:true \" >\r\n\r\n@Test\r\npublic void testOneMillionA() {\r\n\r\n  byte[] millionA = getTestMillionenA();\r\n\r\n  assertEquals(\"52783243c1697bdbe16d37f97f68f08325dc1528\", Transform.bytesToHex(Ripemd160.getHash(millionA)));\r\n}\r\n\r\nprivate byte[] getTestMillionenA() {\r\n\t\tint eineMillionen = 1000000;\r\n\t\tStringBuffer b = new StringBuffer(eineMillionen);\r\n\t\tfor (int i = 0; i &lt; eineMillionen; i++) {\r\n\t\t\tb.append('a');\r\n\t\t}\r\n\t\tString eingabe = b.toString();\r\n\r\n\t\tbyte[] asciiToBytes = eingabe.getBytes();\r\n\t\treturn asciiToBytes;\r\n}<\/pre>\n<p>Ok, das l\u00e4uft schon mal mit der <a href=\"https:\/\/github.com\/IT-Berater\/Bitcoin-Cryptography-Library\" rel=\"noopener\" target=\"_blank\">Nayuki&#8217;s Bitcoin-Cryptography-Library<\/a> richtig. <\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/ripemd-160.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/ripemd-160.png\" alt=\"\" width=\"3770\" height=\"2562\" class=\"aligncenter size-full wp-image-16306\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/ripemd-160.png 3770w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/ripemd-160-300x204.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/ripemd-160-1024x696.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/ripemd-160-768x522.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/ripemd-160-1536x1044.png 1536w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/ripemd-160-2048x1392.png 2048w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a> <\/p>\n<p>Was meinst Du wie lange der JUnit-Test l\u00e4uft? Hier die L\u00f6sung <\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/wenzlaff.de-2021-02-12-um-13.19.49.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2021\/02\/wenzlaff.de-2021-02-12-um-13.19.49.png\" alt=\"\" width=\"938\" height=\"280\" class=\"aligncenter size-full wp-image-16309\" \/><\/a> <\/p>\n<p>Ok, dann hier weitere Infos zum <a href=\"https:\/\/homes.esat.kuleuven.be\/~bosselae\/ripemd160.html\" rel=\"noopener\" target=\"_blank\">RIPMD-160 mit Testvectoren<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Auf der Terrasse sitzen geht wegen 0,5 Meter Schnee nicht deshalb Ripemd-160 JUnit Test mit eine Millionen check implementiert. &#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4606,5,79,1319],"tags":[4597,1012,4624,4626,55,1360,4623,4622,4625,176,4627],"class_list":["post-16303","post","type-post","status-publish","format-standard","hentry","category-crypto","category-java","category-programmierung","category-sicherheit-2","tag-crypto","tag-hash","tag-hashen","tag-hex","tag-junit","tag-lib","tag-ripemd-160","tag-ripemd160","tag-ripemd160-hex","tag-sicherheit","tag-transform"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/16303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16303"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/16303\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16303"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}