[{"data":1,"prerenderedAt":507},["ShallowReactive",2],{"project-23165333":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":46,"post_text":47,"what":48,"said":80,"maker_in_thread":191,"shape":201,"grid":206,"attempts":470,"same_week":471,"maker_shows":17,"maker_hidden":499,"reader_version":500,"card":501},"23165333","SHA-256 Animation","title","Show HN: SHA-256 Animation","https:\u002F\u002Fgithub.com\u002Fin3rsha\u002Fsha256-animation","github.com","inersha",1589364810,2020,1053,102,4,3028,1,"legend","learning_science","cryptography education","cli",[23,24,25,26,27],"sha-256","hash function","cryptography","bitwise operations","animation","loved",0.475,{"positive":31,"neutral":32,"mixed":33,"critical":34},25,13,2,3,43,{"idea":37,"design":40,"docs":42,"performance":43,"execution":44,"privacy":45},{"positive":38,"critical":39},6,0,{"positive":41,"critical":39},5,{"positive":38,"critical":17},{"positive":39,"critical":17},{"positive":15,"critical":39},{"positive":39,"critical":17},[41,39,41,41,39,39,41,34,17,41,41,39,41,41,17,39,39,39,39,39,39,41,41,41,41,41,41,41,34,41,39,39,39,39,41,34,34,15,41,34],null,{"problem":49,"audience":56,"pricing":47,"motivation":65,"time_to_build":47,"stack":69,"openness":77,"stage":78,"team_size":79},{"value":50,"source":51,"evidence":52},"Hard to understand how SHA-256 works internally","maker",[53],{"id":54,"by":10,"text":55},"23165375","I wanted to understand how SHA-256 works, so I made a terminal animation that shows the bitwise operations at each step. I wrote a text guide in the README.md to explain what's…",{"value":57,"source":58,"evidence":59},"People learning how hash functions work","inferred",[60,61],{"id":54,"by":10,"text":55},{"id":62,"by":63,"text":64},"23165427","baicunko","This is a great idea of showing something that is at first very complex. Could be used in Discreet Mathematics to teach students!",{"value":66,"source":51,"evidence":67},"Wanted to understand how SHA-256 works",[68],{"id":54,"by":10,"text":55},[70],{"value":71,"source":72,"evidence":73},"Ruby","commenter",[74],{"id":75,"by":10,"text":76},"23173548","If you add the third optional argument of \"enter\" when running the sha256.rb script you can use your keyboard to step through. I haven't set this up for the individual animations…","open_source","launched","unknown",{"praise":81,"objections":116,"requests":143,"questions":166,"alternatives":179},[82,97,108],{"value":83,"source":72,"evidence":84},"Animation is mesmerizing and clear for learning",[85,89,93],{"id":86,"by":87,"text":88},"23165818","w0utert","Like it a lot. Not sure how useful it is but just looking at it is mesmerizing, well done!",{"id":90,"by":91,"text":92},"23166612","dnadler","This is phenomenal. The animations at the top were way too quick for me to understand, but they pulled me in. The step-by-step explanations below (alongside the relevant parts of…",{"id":94,"by":95,"text":96},"23165859","iBotPeaches","This is amazing! Really fun to watch the example in the readme and just shows how much happens behind the scenes nearly instantly.",{"value":98,"source":72,"evidence":99},"Companion YouTube video explains the code well",[100,104],{"id":101,"by":102,"text":103},"23165906","1_player","Here's the author doing an in-depth explanation of how SHA-256 works using this code: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=f9EbD6iY9zI I'm halfway through, but looks very well done,…",{"id":105,"by":106,"text":107},"23167152","folli","You need to watch his video, very cool, it really helps to understand how this works: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=f9EbD6iY9zI",{"value":109,"source":72,"evidence":110},"Useful teaching tool",[111,112],{"id":62,"by":63,"text":64},{"id":113,"by":114,"text":115},"23169747","kleer001","I get it! Fantastic work. I hope you get lots of requests to include it in teaching materials.",[117,125,133],{"value":118,"source":72,"evidence":119},"Animation runs too fast to follow",[120,121],{"id":90,"by":91,"text":92},{"id":122,"by":123,"text":124},"23172539","sizzzzlerz","Love the animations but they go by too fast. It would be nice if you could add a single step capability so the user could follow along at human pace. Also, I wanted to see how…",{"value":126,"source":72,"evidence":127},"Terminal redraw approach questioned, not a real hash implementation",[128,129],{"id":122,"by":123,"text":124},{"id":130,"by":131,"text":132},"23167926","imoverclocked","Congratulations on the worlds slowest and useful SHA-256 implementation! :)",{"value":134,"source":72,"evidence":135},"Video claim that every input has a unique hash is technically wrong",[136,140],{"id":137,"by":138,"text":139},"23167726","chias","There's a few things in there that are factually incorrect -- in particular, the false notion that \"every input has a unique output\" can be quite dangerous in some cryptographic…",{"id":141,"by":138,"text":142},"23169325","at 1:08 in the video, that is exactly what he claims: \"So every piece of data in the world has its own unique hash digest.\" This is false for the reasons apeescape describes:…",[144,148,159],{"value":145,"source":72,"evidence":146},"Add single-step mode",[147],{"id":122,"by":123,"text":124},{"value":149,"source":72,"evidence":150},"Animations for other hash or encryption algorithms such as ECDSA and AES",[151,155],{"id":152,"by":153,"text":154},"23165767","maallooc","This is so interesting to watch. Can you do it for other hash or encryption methods?",{"id":156,"by":157,"text":158},"23165827","dylkil","ecdsa would be good",{"value":160,"source":72,"evidence":161},"Python version",[162],{"id":163,"by":164,"text":165},"23166970","gtsnexp","Great work! Any idea where we may find an equivalent in Python?",[167,175],{"value":168,"source":51,"evidence":169},"Why were the Sigma rotation parameters chosen",[170,171],{"id":54,"by":10,"text":55},{"id":172,"by":173,"text":174},"23167071","jmiserez","That's also the explanation the author gives in chapter 4. I'm more interested in how they came up with the parameters for the sigma functions. I'm sure it's described somewhere.",{"value":176,"source":72,"evidence":177},"How the terminal output updates in place",[178],{"id":122,"by":123,"text":124},[180],{"value":181,"source":72,"evidence":182},"Ian Coleman-style and other AES visualisations such as jrvidal aes-demo",[183,187],{"id":184,"by":185,"text":186},"23166868","jrvidal","Shameless plug: https:\u002F\u002Fjrvidal.github.io\u002Faes-demo\u002F I like this one better though.",{"id":188,"by":189,"text":190},"23167174","newscracker","This looks great, though it requires quite sometime to go through it (and figure out what could possibly be understood by someone with knowledge of programming and bit wise…",{"comments":192,"answered":15,"key":193},8,[194,195,198],{"id":54,"text":55},{"id":196,"text":197},"23166687","1) Thank you. 2) It's certainly a combination I never anticipated. 3) I look forward to the book.",{"id":199,"text":200},"23183958","No problem at all, thank you.",{"commenters":202,"max_depth":203,"maker_replies":192,"first_comment_mins":204,"lifespan_hours":205},71,10,7,106,[207,209,211,215,218,222,224,228,232,235,239,242,244,247,249,253,254,257,260,264,265,267,271,274,276,277,279,282,285,288,291,294,295,298,300,303,306,309,310,313,316,318,320,323,325,328,330,333,336,339,342,345,348,351,352,354,356,358,361,364,366,368,369,372,375,377,380,381,384,387,390,393,396,399,403,407,409,411,414,416,419,422,424,429,431,436,440,444,446,450,454,458,462,465,467],[54,39,39,208,10,17],"maker\u002Fneutral\u002Fdocs",[62,39,41,210,63,39],"project\u002Fpositive\u002Fidea",[212,39,39,213,214,39],"23165828","other\u002Fneutral\u002Fnone","m4r35n357",[216,39,39,213,217,39],"23187859","perl4ever",[219,39,41,220,221,39],"23165556","maker\u002Fpositive\u002Fnone","ImJasonH",[86,39,41,223,87,39],"project\u002Fpositive\u002Fdesign",[225,39,41,226,227,39],"23166058","maker\u002Fpositive\u002Fidea","lewiscollard",[229,39,41,230,231,39],"23166407","project\u002Fpositive\u002Fdocs","mabbo",[233,39,39,213,234,39],"23166918","tialaramex",[236,39,39,237,238,39],"23168405","commenter\u002Fneutral\u002Fnone","bradjohnson",[240,39,39,237,241,39],"23171594","stevofolife",[243,39,39,237,238,39],"23180223",[245,39,39,237,246,39],"23186736","tryauuum",[248,39,39,237,217,39],"23187837",[250,39,41,251,252,39],"23166600","project\u002Fpositive\u002Fnone","Zhyl",[196,39,39,220,10,17],[255,39,39,213,256,39],"23167658","mystickphoenix",[258,39,39,213,259,39],"23169963","hinkley",[261,39,34,262,263,39],"23166713","project\u002Fneutral\u002Fidea","stan_rogers",[172,39,34,262,173,39],[130,39,17,266,131,39],"project\u002Fcritical\u002Fperformance",[268,39,34,269,270,39],"23167986","project\u002Fneutral\u002Fperformance","nayuki",[272,39,41,220,273,39],"23183544","jonathanzufi",[199,39,39,275,10,17],"maker\u002Fneutral\u002Fnone",[90,17,41,223,91,39],[278,17,39,220,10,17],"23166672",[280,33,39,213,281,39],"23166432","jonplackett",[283,33,39,237,284,39],"23166645","ghoshbishakh",[286,33,41,223,287,39],"23166818","tamiral",[289,33,34,290,173,39],"23167103","project\u002Fneutral\u002Fdocs",[292,33,41,230,293,39],"23167583","rhacker",[105,33,41,230,106,39],[296,33,39,213,297,39],"23167644","kebman",[137,33,17,299,138,39],"project\u002Fcritical\u002Fdocs",[301,33,39,237,302,39],"23168353","tridentboy",[304,33,39,237,305,39],"23168467","apeescape",[307,33,39,237,308,39],"23168527","surye",[141,33,39,237,138,39],[311,33,39,237,312,39],"23170386","ChristianBundy",[314,33,39,237,315,39],"23170406","infogulch",[317,33,39,237,234,39],"23172177",[319,33,39,237,315,39],"23172637",[321,33,39,237,322,39],"23174201","chrisweekly",[324,33,39,237,138,39],"23184669",[326,33,39,237,327,39],"23169494","riquito",[329,33,39,237,138,39],"23169441",[331,33,39,213,332,39],"23168518","tzs",[334,33,39,213,335,39],"23168603","adrianmonk",[337,33,39,213,338,39],"23178016","tripzilch",[340,33,39,213,341,39],"23188548","Sebb767",[343,34,41,223,344,39],"23165524","crousto",[346,34,39,213,347,39],"23166634","kansi",[349,34,41,223,350,39],"23166843","aasasd",[101,15,41,230,102,39],[353,15,39,275,10,17],"23166274",[355,15,41,230,189,39],"23167194",[188,41,34,357,189,39],"project\u002Fmixed\u002Fdocs",[359,38,41,210,360,39],"23165792","jagged-chisel",[362,38,34,290,363,39],"23165821","harrigan",[365,38,41,230,270,39],"23168033",[122,204,34,367,123,39],"project\u002Fmixed\u002Fdesign",[75,204,39,275,10,17],[370,204,41,371,123,39],"23183931","maker\u002Fpositive\u002Fexecution",[373,192,34,262,374,39],"23167127","billpg",[152,376,41,226,153,39],9,[378,376,39,379,10,17],"23165772","maker\u002Fneutral\u002Fidea",[156,376,34,262,157,39],[382,376,34,262,383,39],"23165867","rottyguy",[385,376,34,262,386,39],"23166159","tromp",[388,203,41,210,389,39],"23166750","borplk",[391,203,39,213,392,39],"23167057","alharith",[184,394,39,395,185,39],11,"other\u002Fneutral\u002Fidea",[397,394,39,398,189,39],"23167255","other\u002Fcritical\u002Fdocs",[400,394,39,401,402,39],"23169265","other\u002Fneutral\u002Fdocs","kdrag0n",[404,405,39,395,406,39],"23166659",12,"barbs",[408,405,39,213,10,17],"23166717",[410,405,39,213,173,39],"23166863",[412,405,39,213,413,39],"23170250","Sohcahtoa82",[415,405,39,213,350,39],"23166869",[417,405,39,213,418,39],"23169254","alex7o",[420,32,39,213,421,39],"23168990","Rickvst",[423,32,39,213,114,39],"23169734",[425,426,41,427,428,39],"23167005",14,"project\u002Fpositive\u002Fexecution","n_t",[94,430,41,427,95,39],15,[432,433,17,434,435,39],"23170181",16,"project\u002Fcritical\u002Fprivacy","elwell",[437,438,39,213,439,39],"23167738",17,"iamgopal",[441,442,34,262,443,39],"23166055",18,"dest",[113,445,41,210,114,39],19,[447,448,34,262,449,39],"23167784",20,"Exuma",[451,452,34,262,453,39],"23166343",21,"ape4",[455,456,41,371,457,39],"23167047",22,"stanlyjh",[459,460,41,220,461,39],"23169016",23,"warranty",[163,463,34,464,164,39],24,"project\u002Fneutral\u002Fnone",[466,463,39,213,270,39],"23168065",[468,463,39,469,164,39],"23214845","other\u002Fpositive\u002Fnone",[],[472,477,482,487,491,495],{"id":473,"name":474,"points":475,"category":476},"23169962","This Word Does Not Exist",956,"ai",{"id":478,"name":479,"points":480,"category":481},"23114103","Twitch Roulette",732,"consumer_social",{"id":483,"name":484,"points":485,"category":486},"23126458","Lite",607,"dev_tools",{"id":488,"name":489,"points":485,"category":490},"23157408","Scan Your PDF","productivity",{"id":492,"name":493,"points":494,"category":490},"23101869","HPI",478,{"id":496,"name":497,"points":498,"category":486},"23127628","Pyp",285,false,"v2",{"id":502,"name":5,"line":5,"ai":499,"cat":19,"year":12,"points":13,"comments":14,"rec":28,"s":503,"top":17,"kw":504,"maker":10,"domain":9,"tier":18,"attempts":39,"strip":505,"url":8,"mix":506,"praise":83,"objection":118,"sub":20},23165333,0.48,[23,24,25,26,27],"5055005315505510000005555555350000533453",[31,32,33,34],1794036590446]