1. JavaScript / Говнокод #9626

    +200

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    for (k = 0; k < xl; k += 16) {
            AA = a;
            BB = b;
            CC = c;
            DD = d;
            a = _FF(a, b, c, d, x[k + 0], S11, 0xD76AA478);
            d = _FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756);
            c = _FF(c, d, a, b, x[k + 2], S13, 0x242070DB);
            b = _FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);
            a = _FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);
            d = _FF(d, a, b, c, x[k + 5], S12, 0x4787C62A);
            c = _FF(c, d, a, b, x[k + 6], S13, 0xA8304613);
            b = _FF(b, c, d, a, x[k + 7], S14, 0xFD469501);
            a = _FF(a, b, c, d, x[k + 8], S11, 0x698098D8);
            d = _FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);
            c = _FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);
            b = _FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE);
            a = _FF(a, b, c, d, x[k + 12], S11, 0x6B901122);
            d = _FF(d, a, b, c, x[k + 13], S12, 0xFD987193);
            c = _FF(c, d, a, b, x[k + 14], S13, 0xA679438E);
            b = _FF(b, c, d, a, x[k + 15], S14, 0x49B40821);
            a = _GG(a, b, c, d, x[k + 1], S21, 0xF61E2562);
            d = _GG(d, a, b, c, x[k + 6], S22, 0xC040B340);
            c = _GG(c, d, a, b, x[k + 11], S23, 0x265E5A51);
            b = _GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);
            a = _GG(a, b, c, d, x[k + 5], S21, 0xD62F105D);
            d = _GG(d, a, b, c, x[k + 10], S22, 0x2441453);
            c = _GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681);
    <40 строк поспипано>
            b = _II(b, c, d, a, x[k + 9], S44, 0xEB86D391);
            a = addUnsigned(a, AA);
            b = addUnsigned(b, BB);
            c = addUnsigned(c, CC);
            d = addUnsigned(d, DD);
    }

    http://phpjs.org/downloads/phpjs.commonjs.js.
    Там оказалось реально много жира. Я сначала подумал, что сеть Фейштеля, но потом-таки разглядел MD5.
    Говносути это конечно не меняет.

    Запостил: 3.14159265, 07 Марта 2012

    Комментарии (4) RSS

    • Ну да, таки обычный md5. Была более убогая реализация в vbulletin'е, кажется.
      Ответить
    • Не могу скачать этот скрипт. Ссылка недействительна. Нажал «Download» на главной и получил:
      Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 524288 bytes) in /var/git/cakephp1.2/cake/libs/model/datasources/dbo_source.php on line 932
      
      Call Stack:
          0.0000     643408   1. {main}() /var/git/phpjsweb/webroot/index.php:0
          0.0061    2183136   2. Dispatcher->dispatch() /var/git/phpjsweb/webroot/index.php:52
          0.0084    2414432   3. Dispatcher->_invoke() /var/git/cakephp1.2/cake/dispatcher.php:193
          0.0595    5752016   4. Object->dispatchMethod() /var/git/cakephp1.2/cake/dispatcher.php:226
          0.0595    5752096   5. PackagesController->download() /var/git/cakephp1.2/cake/libs/object.php:117
          0.0595    5752096   6. Package->getByAny() /var/git/phpjsweb/controllers/packages_controller.php:535
          0.0595    5755136   7. Model->find() /var/git/phpjsweb/models/package.php:180
          0.0596    5759552   8. DboSource->read() /var/git/cakephp1.2/cake/libs/model/model.php:2040
          0.0806    6071256   9. DboSource->queryAssociation() /var/git/cakephp1.2/cake/libs/model/datasources/dbo_source.php:680
          1.5295  123996160  10. DboSource->__mergeHasMany() /var/git/cakephp1.2/cake/libs/model/datasources/dbo_source.php:788
      Ответить

    Добавить комментарий