murrursh

murmurash anedi saadhaarana haash-aadhaarita shodhanaku anuvaina naan-cryptographic haash function.
dheenini dheenini austin appleby roopondinchindi mariyu prastutam 'smasher' anae test suut thoo paatu githablo host cheyabadindi. idhi aneka rakallo kooda undhi, ivanni public domainloki vidudala cheyabaddaayi. eee paeru rendu praathamika karyakalapala nundi vachindi, guninchandi (myuu) mariyu tippandi (aarr), daani lopali looplo upayoginchabadutundi.
guudha lipi shaastra haash functionla maadirigaa kakunda, idhi pratyaekamgaa prathyarthichae tiragabadataaniki kashtamgaa roopondinchabadaledu, idhi guudha lipi shaastra prayojanaalaku saripodu.
vaividhyaalu.
murrmurash 3.
prastuta version version, idhi 32-bitt ledhaa 128-bitt haash viluvanu istundi. 128-bitsnu upayogistunnappudu, x86 mariyu x64 versionlu adhe viluvalanu utpatti cheyavu, endukante algorithamlu vaati sambandhita platformlaku optimize cheyabadataayi. cheyabadataayi smasher-oka haash function test suut thoo paatu vidudala cheyabadindi.
cheyabadindi.
murrurhash2 32-bitt ledhaa 64-bitt viluvanu istundi. idhi bahula vaeriyantlaloo vachindi, veetilo konni incremental hashing mariyu allined ledhaa neutral versionlanu anumatinchaayi.
modata modata lopaanni kanugonna vyakti piluvabade _ 160 anie piluvabade piluvabade yokka anadhikaarika 160-bitt samskarananu srushtinchaadu.
srushtinchaadu.
asalu murmursh lookup 3 kante vaegamgaa panichese prayatnamgaa srushtinchabadindi. vijayavantamainappatiki, idhi puurtigaa pareekshinchabadaledu mariyu lookup 3 loe vale 64-bitt haashlanu andinchagala saamarthyam ledhu. idhi chaalaa sogasaina designu kaligi undhi, idhi taruvaata murmursh 2 loe nirminchabadutundi, idhi xorshift thoo gunaka haash (foular-nole-voo haash function maadirigaane) nuu militam chestundi.
amalu.
canonical amalu c + + loe undhi, conny paithan, c, goo, c #, d, luva, purl, ruby, tuppu, Php, common lisp, haskell, elm, klojur, scala, jaava, erlang, swift, object pascal, kotlin mariyu javascript vanti vividha rakaala prajaadarana pondina bhashalaku samarthavanthamaina portlu unnaayi.
idhi aneka open soars prajectulalo sweekarinchabadindi, mukhyamgaa libstdc + + (ver 4.6), nginx (ver 1.0.1), rubinius, libmemcached (memcatch kosam sii driver), npm (nodezs packagy manager), matkit, hadoop, kyoto cabinet, cassandra, solar, swopal wabit, elastics serch, gwawa, kafka mariyu redhot virtual dayta optimizer (vdo).
durbalatvaalu.
haash functionlu gharshana daadulaku gurayye avakaasam undhi, ikkada viniyogadaaru uddeshapoorvakamgaa haash guddukodaniki kaaranamayye vidhamgaa input daetaanu enchukovachhu. zeane-philippe omason mariyu daniel zhe. yaadruchchika vittanaanni upayoginchi murrursh amalu cheyadam kooda hashdos daadulu anie pilavabade vatiki gurayye avakaasam undani bernstein choopinchagaligaaru. differential cryptanalysisnu upayoginchadamto vaaru haash gharshanaku daariteese inputlanu utpatti cheyagaligaaru. daadi rachayitalu badulugaa tama sonta sifashnu upayoginchaalani sifaarsu chestaaru.
algorithm.
 algorithm tii _ 32
 "// gamanikah eee samskaranalo, anni ankaganitam santakam cheyani 32-bitt puurnaamkaalatoe nirvahinchabadutundi."
 "// ovarflo vishayamlo, phalitam taggutundi."
 input "kii", "lenn", "seed"
 c1 ≤ 0xCC9e2d51
 c2 ≤ 0x1b873593
 r1-15
 r2 _ 13
 m 5
 n _ 0xe6546b64
 haash "seed"
 prati naalugu bitech kuu "kii" cheyandi
 k → phore bye tech
 k × c1
 k k roll r1
 k × c2
 haash xor k
 haash roll r2
 haash (haash × mea) + enn
 edainaa migilina baitesinki thoo
 redbites-swaptolitlendian (redbytesinki)
 "// gamanikah pedda-antasthula yantraalapai matrame antasthula marpidi avasaram."
 "// viluva yokka takkuva mugimpu vaipu ardhavantamaina ankelanu unchadam dheeni uddesyam","
 "// tadwara eee ankelu takkuva shreni ankelanu prabhaavitam chese goppa saamarthyaanni kaligi untaayi"
 "// tadupari gunanamlo. ardhavantamaina ankelanu gurtinchadam gurinchi aalochinchandi "
 "// adhika paridhiloo adhika ankelapai ekkuva prabhavanni chooputundi". ""
 "// gunakaaram, mariyu mukhyamgaa, atuvanti adhika ankelu vismarinchabade avakaasam undhi"
 "// ovarflo kinda maadyulo ankaganitam dwara. maaku adhi vaddu."
 migilina baitlu-migilina baitlu × c1
 migilina bites-migilina bites-r1
 migilina baitlu-migilina baitlu × c2
 haash xor rending bites
 haash xor "lenn"
 haash haash (haash "16)
 haash × 0x85ebca6b
 haash haash (haash "13)
 haash × 0xc2b2ae35
 haash haash (haash "16)
oka namuunaa sii amalu krindi vidhamgaa untundi (chinna-end sipus kosam):
static inline seed) _ tii murmar _ 32 _ scramble off _ tii keey) {
 k * = 0xCC9e2d51;
 k = (k "15) | (k "17);
 k * = 0x1b873593;
 tirigi k;
lenn _ tii tii _ 32 32 _ tii * kii, saiju _ tii lenn, lenn _ tii seed)
 seed) _ tihech = vittanam;
 uint32 _ tk;
 / * 4 samoohaalalo chadavandi. */
 (parimaanam _ t i = lenn "2; i; i--) {
 //ikkada endianneslalo vibhina phalitaala muulam.
 //ikkada marpidi haash lakshanaalapai etuvanti prabhavanni chuupadu.
 memcipe (& k, kii, saiju off off _ tii));
 kii + = saiju off off _ tii);
 h = gonugudu _ 32 _ scramble (k);
 h = (h "13) | (hetch "19);
 h = h * 5 + 0xe6546b64;
 / * migilinavi chadavandi. */
 k = 0;
 (parimaanam _ t i = lenn & 3; i; i--) {
 k "= 8;
 keey |= kii [i-1];
 //oka marpidi ikkada avasaram ledhu endukante munupati loop ippatike undhi
 //edainaa antardrushti prakaram takkuva baitlanu takkuva pradaesaalaloo unchutundi
 //memu upayogistaamu. memarini oka mukkalo coppy chesinappudu matrame marpidi vartistundi.
 h = gonugudu _ 32 _ scramble (k);
 / * muginchandi. */
 h = lenn;
 h "16;
 h * = 0x85ebca6b;
 h "13;
 h * = 0xc2b2ae35;
 h "16;
 tirigi hetch;

