[{"data":1,"prerenderedAt":351},["ShallowReactive",2],{"project-42409577":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":43,"post_text":45,"what":46,"said":84,"maker_in_thread":181,"shape":192,"grid":196,"attempts":311,"same_week":312,"maker_shows":342,"maker_hidden":343,"reader_version":344,"card":345},"42409577","Rain hashes","well designed, simple and fast variable sized hashes","title","Show HN: Rain hashes – well designed, simple and fast variable sized hashes","https:\u002F\u002Fgithub.com\u002FDOSAYGO-Research\u002Frain","github.com","keepamovin",1734104782,2024,79,52,988,3515,29,"notable","languages","hash function library","library",[24,25,26,27,28],"hash function","non-cryptographic hash","smhasher","fast hash","variable width hash","roasted",-0.177,{"positive":32,"neutral":33,"mixed":34,"critical":35},1,6,0,7,14,{"docs":38,"idea":39,"performance":41,"execution":42},{"positive":34,"critical":34},{"positive":34,"critical":40},5,{"positive":32,"critical":32},{"positive":34,"critical":32},[34,44,34,34,34,34,34,32,34,34,34,34,34,34,34,34,34,34,44,34,44,34,32,34,34,34,32,34,32,32,34,32,34,44,34,40,32,34,34,44],3,null,{"problem":47,"audience":45,"pricing":45,"motivation":57,"time_to_build":61,"stack":65,"openness":81,"stage":82,"team_size":83},{"value":48,"source":49,"evidence":50},"Fast, statistically good hashes with 64, 128 or 256-bit outputs","maker",[51,54],{"id":52,"by":11,"text":53},"42409588","This is my hash included in the best hash testing library out there \"SMHasher3\" maintained by Frank T Wojcik: https:\u002F\u002Fgitlab.com\u002Ffwojcik\u002Fsmhasher3 This test lib has many…",{"id":55,"by":11,"text":56},"42414030","That's a clear distinction, thanks for bringing it up. For clarity, this lib has 2 hashes: rainbow, and rainstorm. \"rainbow\" the faster, is not intended to be crypto secure.…",{"value":58,"source":49,"evidence":59},"Hash functions as a hobby, with a fast 128\u002F256-bit non-crypto option",[60],{"id":52,"by":11,"text":53},{"value":62,"source":49,"evidence":63},"A couple of weeks of development, with a couple of days of prime search",[64],{"id":52,"by":11,"text":53},[66,70,74],{"value":67,"source":49,"evidence":68},"C",[69],{"id":52,"by":11,"text":53},{"value":71,"source":49,"evidence":72},"WebAssembly",[73],{"id":52,"by":11,"text":53},{"value":75,"source":76,"evidence":77},"JavaScript (Node.js benchmark)","commenter",[78],{"id":79,"by":11,"text":80},"42410489","Right, how to improve that? That nodejs bench script is meant to compare between cpp and wasm. For hash speed consult the smasher3 results.","open_source","launched","unknown",{"praise":85,"objections":98,"requests":126,"questions":139,"alternatives":151},[86,94],{"value":87,"source":76,"evidence":88},"Fastest 128-bit and 256-bit non-crypto hash and passes all SMHasher3 tests",[89,93],{"id":90,"by":91,"text":92},"42412040","mrbluecoat","The fastest 128-bit and 256-bit non-crypto hash, passes all tests, and under 140 source lines of code Nice!",{"id":52,"by":11,"text":53},{"value":95,"source":49,"evidence":96},"Under 140 lines of source code",[97],{"id":52,"by":11,"text":53},[99,112,119],{"value":100,"source":76,"evidence":101},"Rainstorm cryptographic claims are unvetted and the use case is unclear",[102,106,109],{"id":103,"by":104,"text":105},"42410633","tptacek","Broadly: I don't understand the design space of \"cryptographic-ish\" hashes. There's an intensely competitive design space of cryptographic hashes. What does it mean to be \"more…",{"id":107,"by":104,"text":108},"42415137","No immune response! Making new things and posting them is an absolute good thing. I'm literally asking, straight up: what's the use case for a hash that is \"more secure\" than an…",{"id":110,"by":104,"text":111},"42425282","I'd be happy to if I understood better why someone would want to undertake that project, which is why I asked. There is an enormous literature on cryptographic hashing; where…",{"value":113,"source":76,"evidence":114},"Benchmarks measure startup time rather than the hash",[115],{"id":116,"by":117,"text":118},"42410345","zokier","The benchmarks are bogus at the least, you are essentially just measuring the startup time of the executable\u002Fruntime and not your hash function.",{"value":120,"source":76,"evidence":121},"Fails to integrate into SMHasher2 with collisions",[122],{"id":123,"by":124,"text":125},"42418733","rurban","I failed to integrate it into my smhasher, the rain branch. Lots of collisions and wrong results all over. Pretty fragile for a workday",[127,132],{"value":128,"source":76,"evidence":129},"Explain the use case for a hash more secure than non-crypto but less vetted than crypto",[130,131],{"id":103,"by":104,"text":105},{"id":107,"by":104,"text":108},{"value":133,"source":76,"evidence":134},"Explain why xxHash is classed as failing in SMHasher3",[135],{"id":136,"by":137,"text":138},"42410928","thadt","So, questions for people that know more than I: What's up with the 'passing' and 'failing' hashes in SMHasher3? Specifically, what happened to xxHash[1] to kick it down to the…",[140,144],{"value":141,"source":76,"evidence":142},"Where does rainstorm fit in the cryptographic hash literature",[143],{"id":110,"by":104,"text":111},{"value":145,"source":76,"evidence":146},"Is the list of good primes available",[147],{"id":148,"by":149,"text":150},"42410574","mulle_nat","I am using fnv-1a to hash Objective-C method selectors, which are generally just identifier characters and zero or multiple ':'. At the time of my research, fnv-1a had the least…",[152,156,166,173,177],{"value":153,"source":76,"evidence":154},"fnv-1a",[155],{"id":148,"by":149,"text":150},{"value":157,"source":76,"evidence":158},"UMASH",[159,162],{"id":160,"by":124,"text":161},"42415104","Spooky also has some good results on common identifiers. But fnv-1a is in a completely different league. It's recommended for hash tables with other security measures than hash…",{"id":163,"by":164,"text":165},"42412274","cstrahan","Note that you said “likely” and not “equally likely”. Therein lies your answer. There are applications where hashes are used as identifiers, where it would be impossible to use…",{"value":167,"source":76,"evidence":168},"SipHash",[169],{"id":170,"by":171,"text":172},"42427643","dgacmu","Just to make sure I'm understanding correctly, I think that your intent is that rainbow is \u002F should be treated as cryptographically weaker than SIPhash, right? (despite both of…",{"value":174,"source":76,"evidence":175},"xxHash",[176],{"id":136,"by":137,"text":138},{"value":178,"source":76,"evidence":179},"Spooky",[180],{"id":160,"by":124,"text":161},{"comments":182,"answered":183,"key":184},18,9,[185,186,189],{"id":52,"text":53},{"id":187,"text":188},"42414601","Everything is in the source code. I highly doubt any of the good hash functions listed in smhasher3 (ie all tests passed) would collide over identifiers. So they should all have…",{"id":190,"text":191},"42416499","Ah, that's interesting. 32-bits yes you would get some collisions even from good hashes just statistically. Also now I understand your constraints. Very interesting, so you are…",{"commenters":193,"max_depth":194,"maker_replies":182,"first_comment_mins":32,"lifespan_hours":195},17,16,142,[197,199,201,203,205,207,209,211,212,214,216,220,223,226,227,229,232,235,238,240,243,245,247,249,253,255,256,259,261,263,265,266,269,271,273,275,277,279,281,282,285,288,290,291,293,295,297,300,302,304,307,308],[52,34,34,198,11,32],"project\u002Fpositive\u002Fperformance",[148,34,44,200,149,34],"maker\u002Fneutral\u002Fdocs",[187,34,34,202,11,32],"commenter\u002Fneutral\u002Fnone",[204,34,34,202,149,34],"42415905",[190,34,34,206,11,32],"other\u002Fneutral\u002Fnone",[208,34,34,206,149,34],"42424935",[210,34,34,206,11,32],"42429347",[160,34,34,206,124,34],[213,34,34,202,149,34],"42415917",[103,32,32,215,104,34],"project\u002Fcritical\u002Fidea",[217,32,34,218,219,34],"42410835","other\u002Fneutral\u002Fidea","dan_manges",[221,32,34,218,222,34],"42410908","loeg",[224,32,34,218,225,34],"42412017","nepthar",[163,32,34,218,164,34],[228,32,34,202,222,34],"42412466",[230,32,34,218,231,34],"42410891","jnwatson",[233,32,34,234,222,34],"42410900","other\u002Fneutral\u002Fperformance",[236,32,34,206,237,34],"42411344","bcoates",[239,32,34,202,104,34],"42411497",[241,32,34,218,242,34],"42411113","zamalek",[244,32,34,218,222,34],"42412600",[246,32,34,202,242,34],"42414485",[248,32,34,202,222,34],"42415046",[250,32,44,251,252,34],"42411155","project\u002Fneutral\u002Fdocs","iainmerrick",[254,32,34,251,11,32],"42414989",[55,32,34,251,11,32],[257,32,44,258,104,34],"42414610","maker\u002Fneutral\u002Fnone",[260,32,34,202,11,32],"42414687",[262,32,32,215,104,34],"42414736",[264,32,34,202,11,32],"42415092",[107,32,34,202,104,34],[267,32,34,268,11,32],"42415207","project\u002Fpositive\u002Fidea",[270,32,34,202,104,34],"42415290",[272,32,34,202,11,32],"42415357",[274,32,32,215,104,34],"42415556",[276,32,34,198,11,32],"42415581",[278,32,32,215,104,34],"42417953",[280,32,34,202,11,32],"42420939",[110,32,32,215,104,34],[283,32,34,284,11,32],"42430221","project\u002Fneutral\u002Fidea",[116,286,32,287,117,34],2,"project\u002Fcritical\u002Fperformance",[79,286,34,289,11,32],"project\u002Fneutral\u002Fperformance",[170,44,44,284,171,34],[292,44,34,284,11,32],"42429333",[294,44,34,268,11,32],"42461142",[90,296,40,198,91,34],4,[298,296,34,299,11,32],"42414627","project\u002Fpositive\u002Fnone",[123,40,32,301,124,34],"project\u002Fcritical\u002Fexecution",[303,40,34,202,11,32],"42420909",[305,40,34,306,124,34],"42422173","commenter\u002Fneutral\u002Fexecution",[136,33,44,289,137,34],[309,33,44,289,310,34],"42411516","zimpenfish",[],[313,318,323,328,333,338],{"id":314,"name":315,"points":316,"category":317},"42405046","Velofuso",797,"hardware",{"id":319,"name":320,"points":321,"category":322},"42398471","Quantus",279,"learning_science",{"id":324,"name":325,"points":326,"category":327},"42424508","SmartHome",268,"games",{"id":329,"name":330,"points":331,"category":332},"42417330","Buzee",229,"productivity",{"id":334,"name":335,"points":336,"category":337},"42399701","Kubernetes Spec Explorer",216,"dev_tools",{"id":339,"name":340,"points":341,"category":322},"42416258","Chord Nebula",215,31,false,"v2",{"id":346,"name":5,"line":6,"ai":343,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":347,"top":18,"kw":348,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":349,"url":9,"mix":350,"praise":87,"objection":100,"sub":21},42409577,-0.18,[24,25,26,27,28],"0300000100000000003030100010110103051003",[32,33,34,35],1794036665776]