Титла: Алгоритъм от Python в PHP. Публикувано от: bohosh в Feb 23, 2014, 10:53 Нуждая се от човек с познания от Python и PHP за да можем един алгоритъм да го направим от Python в php. Става въпрос за алгоритъм за смятане на 16 битова чексума.
За желаещите да помогнат или предложат оферта, моля пишете тук или на лично. Благодаря. def readn(fin, n): s = 0 for ti in fin.read(n): s = s * 256 + ord(ti) return s def fletcher(fin, k): if k not in (16, 32, 64): raise ValueError("Valid choices of k are 16, 32 and 64") nbytes = k // 16 mod = 2 ** (8 * nbytes) - 1 s = s2 = 0 t = readn(fin, nbytes) while t: s += t s2 += s t = readn(fin, nbytes) return s % mod + (mod + 1) * (s2 % mod) Титла: Re: Алгоритъм от Python в PHP. Публикувано от: gat3way в Feb 23, 2014, 11:56 Код: debian:/tmp# cat a.py Не ща пари, бири, кафета и тем подобни. Искам да разбера защо точно fletcher за чексуми на файлове. Титла: Re: Алгоритъм от Python в PHP. Публикувано от: bohosh в Feb 23, 2014, 14:56 След като ми дадоха грешна информация...темата доста се промени!!!
Ако някой има идея от смятане на чексуми в HEX файлове, нека пише. Благодаря. Титла: Re: Алгоритъм от Python в PHP. Публикувано от: gat3way в Feb 23, 2014, 18:45 Защо не пробваш със стандартната CRC функция в PHP? Ако е защото fletcher е по-бърз, то имай предвид че точно тази имплементация е отвратително бавна, защото ще чете по 2/4 или 8 байта от файла. Ще трябва да я оптимизираш като четеш по-големи блокове от файла и ги буферираш. Трябва да има някакво предимство в конкретния случай, което да оправдае заниманието, та ми страна интересно.
|