Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
hash 13.12.01 15:06 Число просмотров: 3476
Автор: iddqd <Юрий> Статус: Member
|
> Вчера ковырял одну ламерскую программку и наткнулся вот на > такую штуку > > int fu(int x1,int x2) > { int a,b,c,d,i,j=0; > do{ a=0; > b=x1&0x80000057; > for(i=0;i<0x20;i++) {if(b&1)a++; > b>>=1;} > x1=(x1>>1)&0x7fffffff; > if(a&1)x1|=0x80000000; > a=0; c=x2&x1; > for(i=0;i<0x20;i++) {if(c&1)a++; > c>>=1;} > d=(d<<1)a&1); > }while(++j!=0x20); > return d; > } > int hash(int *b) > { int x,y,i=0; > x=b[0]; > do{y=b[++i]; x=fu(x,y);}while(i!=0x100); > return x; > } > > Что с этим можно сделать? Не пхоже что алгоритм стойкий. > Спасибо если кто ответит
долго разбираться не стал, но, на первый взгляд, у нее будет очень много повторяющихся результатов, слишком уж много" и "&", а они необратимы. возможно, я ошибаюсь
попробуй просто в лоб. перебери пару десятков тысяч вариантов и посмотри, какой результат чаще всего повторяется и при каких значениях
|
- hash - nimrod 13.12.01 13:29 [2499]
- hash - iddqd 13.12.01 15:06 [3476]
- hash - nimrod 13.12.01 16:59 [3217]
- hash - iddqd 13.12.01 17:24 [3436]
- hash - nimrod 13.12.01 17:42 [3096]
- hash - iddqd 13.12.01 17:59 [3176]
- hash - nimrod 13.12.01 18:09 [3086]
- hash - iddqd 13.12.01 18:33 [3041]
- hash - zelych 14.12.01 12:34 [3309]
|
|
|