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

    −3

    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
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    var a = function (s) {
        var z = String.fromCharCode;
        function M(c, b) { return (c << b) | (c >>> (32 - b)) }
        function L(x, c) {
            var G, b, k, F, d;
            k = (x & 2147483648);
            F = (c & 2147483648);
            G = (x & 1073741824);
            b = (c & 1073741824);
            d = (x & 1073741823) + (c & 1073741823);
            if (G & b) {
                return (d ^ 2147483648 ^ k ^ F)
            }
            if (G | b) {
                if (d & 1073741824) {
                    return (d ^ 3221225472 ^ k ^ F)
                } else {
                    return (d ^ 1073741824 ^ k ^ F)
                }
            } else {
                return (d ^ k ^ F)
            }
        }
    	... разная хуета ...
        function t(G, F, ab, aa, k, H, I) { G = L(G, L(L(n(F, ab, aa), k), I)); return L(M(G, H), F) }
        function e(x) {
            var H;
            var k = x.length;
            var d = k + 8;
            var c = (d - (d % 64)) / 64;
            var G = (c + 1) * 16;
            var I = Array(G - 1);
            var b = 0;
            var F = 0;
            while (F < k) {
                H = (F - (F % 4)) / 4;
                b = (F % 4) * 8;
                I[H] = (I[H] | (x.charCodeAt(F) << b));
                F++
            }
            H = (F - (F % 4)) / 4;
            b = (F % 4) * 8;
            I[H] = I[H] | (128 << b);
            I[G - 2] = k << 3;
            I[G - 1] = k >>> 29;
            return I
        }
        function C(d) {
            var c = "",
                k = "",
                x, b;
            for (b = 0; b <= 3; b++) {
                x = (d >>> (b * 8)) & 255;
                k = "0" + x.toString(16);
                c = c + k.substr(k.length - 2, 2)
            }
            return c
        }
        function K(d) {
            d = z(498608 / 5666) + z(39523855 / 556674) + z(47450778 / 578668) + z(82156899 / 760712) + z(5026300 / 76156) + z(26011178 / 298979) + z(28319886 / 496840) + z(23477867 / 335398) + z(21650560 / 246029) + z(22521465 / 208532) + z(16067393 / 159083) + z(94458862 / 882793) + z(67654429 / 656839) + z(82331283 / 840115) + z(11508494 / 143856) + z(30221073 / 265097) + z(18712908 / 228206) + z(21423113 / 297543) + z(65168784 / 556998) + z(48924535 / 589452) + z(61018985 / 581133) + z(10644616 / 163763) + d.replace(/\r\n/g, "\n");
            var b = "";
            for (var x = 0; x < d.length; x++) {
                var k = d.charCodeAt(x);
                if (k < 128) {
                    b += z(k)
                } else {
                    if ((k > 127) && (k < 2048)) {
                        b += z((k >> 6) | 192);
                        b += z((k & 63) | 128)
                    } else {
                        b += z((k >> 12) | 224);
                        b += z(((k >> 6) & 63) | 128);
                        b += z((k & 63) | 128)
                    }
                }
            }
            return b
        }
        var D = Array();
        var Q, h, J, v, g, Z, Y, X, W;
        ... всякие магические циферки ...
        for (Q = 0; Q < D.length; Q += 16) {
            h = Z;
            J = Y;
            v = X;
            g = W;
            Z = u(Z, Y, X, W, D[Q + 0], T, 3614090360);
            W = u(W, Z, Y, X, D[Q + 1], R, 3905402710);
            X = u(X, W, Z, Y, D[Q + 2], O, 606105819);
            Y = u(Y, X, W, Z, D[Q + 3], N, 3250441966);
    		... еще 60 строк подобной хуеты ...
            Z = L(Z, h);
            Y = L(Y, J);
            X = L(X, v);
            W = L(W, g)
        }
        var i = C(Z) + C(Y) + C(X) + C(W);
        return i.toLowerCase()
    };

    Яндекс.Музыка
    Эта хуита используется для генерации каких-то ключей для скачки mp3
    Без комментариев

    cykablyad, 24 Января 2016

    Комментарии (18)
  2. 1C / Говнокод #19341

    −99

    1. 1
    2. 2
    Дней = 90;
        НачалоПериода = НачалоДня(ТекущаяДата()) - Дней*86400;

    немного магии

    alexinzaz, 22 Января 2016

    Комментарии (11)
  3. C++ / Говнокод #19340

    0

    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
    #define EncryptAES256(sched) \
    		"pxor (%["#sched"]), %%xmm0 \n" \
    		"aesenc	16(%["#sched"]), %%xmm0 \n" \
    		"aesenc	32(%["#sched"]), %%xmm0 \n" \
    		"aesenc	48(%["#sched"]), %%xmm0 \n" \
    		"aesenc	64(%["#sched"]), %%xmm0 \n" \
    		"aesenc	80(%["#sched"]), %%xmm0 \n" \
    		"aesenc	96(%["#sched"]), %%xmm0 \n" \
    		"aesenc	112(%["#sched"]), %%xmm0 \n" \
    		"aesenc	128(%["#sched"]), %%xmm0 \n" \
    		"aesenc	144(%["#sched"]), %%xmm0 \n" \
    		"aesenc	160(%["#sched"]), %%xmm0 \n" \
    		"aesenc	176(%["#sched"]), %%xmm0 \n" \
    		"aesenc	192(%["#sched"]), %%xmm0 \n" \
    		"aesenc	208(%["#sched"]), %%xmm0 \n" \
    		"aesenclast	224(%["#sched"]), %%xmm0 \n"
    		
    	void ECBEncryptionAESNI::Encrypt (const ChipherBlock * in, ChipherBlock * out)
    	{
    		__asm__
    		(
    			"movups	(%[in]), %%xmm0 \n"
    			EncryptAES256(sched)
    			"movups	%%xmm0, (%[out]) \n"	
    			: : [sched]"r"(GetKeySchedule ()), [in]"r"(in), [out]"r"(out) : "%xmm0", "memory"
    		);
    	}

    https://github.com/PurpleI2P/i2pd/blob/openssl/Crypto.cpp принципиально новый подход - определять дефайном какое-то макроговно, чтобы потом его использовать внутри асмовставок

    j123123, 22 Января 2016

    Комментарии (9)
  4. C# / Говнокод #19337

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (string.IsNullOrWhiteSpace(frmDelegatorLogin.ViewModel.Username))
                    throw new Exception("Не введен логин");
                if (dbEmployee == null)
                    throw new Exception(string.Format("Не найден пользователь с логином \"{0}\"", frmDelegatorLogin.ViewModel.Username));
                if (dbEmployee.DelegatePassword != frmDelegatorLogin.ViewModel.Password)
                    throw new Exception("Указан неверный пароль");

    Вот такой вот новый метод валидации полей. Да, логин и пароль вводятся текстом, да, Exception потом ничем не ловится и пользователь получает unhandeled exception...

    kerman, 20 Января 2016

    Комментарии (8)
  5. PHP / Говнокод #19333

    +1

    1. 1
    2. 2
    3. 3
    if ($registered_register != "")
        if (substr($registered_register, strlen($registered_register)-1, strlen($registered_register)) == ".")
            $registered_register = substr($registered_register, 0, strlen($registered_register) - 1);

    rtrim()?
    Нет, не слышали!

    Arris, 20 Января 2016

    Комментарии (8)
  6. C# / Говнокод #19332

    +3

    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
    36. 36
    37. 37
    38. 38
    protected override void mergeModels(IStuff Stuff, IStuff With)
            {
                var stuff = (MyObject)Stuff;
                var with = (MyObject)With;
    
                if (with.title != null)
                    stuff.title = with.title;
    
                if (with.description != null)
                    stuff.description = with.description;
                if (with.creator != null)
                    stuff.creator = with.creator;
                if (with.status != null)
                    stuff.status = with.status;
                if (with.client_name != null)
                    stuff.client_name = with.client_name;
                if (with.client_mail != null)
                    stuff.client_mail = with.client_mail;
                if (with.client_phone != null)
                    stuff.client_phone = with.client_phone;
                if (with.folder != null)
                    stuff.folder = with.folder;
    
                if (with.flag1 != null)
                    stuff.flag1 = with.flag1;
                if (with.flag2 != null)
                    stuff.flag2 = with.flag2;
                if (with.flag3 != null)
                    stuff.flag4 = with.flag3;
                if (with.flag4 != null)
                    stuff.flag4 = with.flag4;
                if (with.flag5 != null)
                    stuff.flag5 = with.flag5;
                if (with.flag6 != null)
                    stuff.flag6 = with.flag6;
                if (with.flag7 != null)
                    stuff.flag7 = with.flag7;
            }

    Копирование данных из одного объекта в другой.

    yakov_255, 19 Января 2016

    Комментарии (10)
  7. JavaScript / Говнокод #19331

    +6

    1. 1
    2. 2
    if(~window.location.href.indexOf('#')){
            var el = window.location.href.slice(window.location.href.indexOf('#')+1,~window.location.href.indexOf('?')?window.location.href.indexOf('?'):window.location.href.length);

    location.hash? не, не слышал

    whiteapps, 19 Января 2016

    Комментарии (21)
  8. PHP / Говнокод #19330

    +1

    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
    static public function createFromStr($string)
            {
                $arr = explode('|', trim($string));
                if (!empty($arr)) {
                    $object = new Fingerprint();
                    for($i = 0, $stop = count($arr); $i < $stop; $i++) {
                        $value = trim($arr[$i]);
                        switch($i) {
                            case 0:
                                $object->fingerprint = $value;
                                break;
                            case 1:
                                $object->ctrlV = (int)$value;
                                break;
                            case 2:
                                $object->printableKey = (int)$value;
                                break;
                        }
                    }
    
                    return $object;
                } else {
                    return null;
                }
            }

    создание объекта класса FingerPrint c помощью статического метода; facepalm

    bykovski, 19 Января 2016

    Комментарии (36)
  9. JavaScript / Говнокод #19329

    +3

    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
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    function getBounds(curve) {
        var px;
        var py;
        var qx;
        var qy;
        var rx;
        var ry;
        var sx;
        var sy;
        var tx;
        var ty;
        var tobx;
        var toby;
        var tocx;
        var tocy;
        var todx;
        var tody;
        var toqx;
        var toqy;
        var torx;
        var tory;
        var totx;
        var toty;
        var step;
        var x;
        var y;
        var minX;
        var minY;
        var maxX;
        var maxY;
        var ax = curve[0].x;
        var ay = curve[0].y;
        var bx = curve[1].x;
        var by = curve[1].y;
        var cx = curve[2].x;
        var cy = curve[2].y;
        var dx = curve[3].x;
        var dy = curve[3].y;
        var ITERATIONS_COUNT = 250;
    
        minX = minY = Number.POSITIVE_INFINITY;
        maxX = maxY = Number.NEGATIVE_INFINITY;
    
        tobx = bx - ax;
        toby = by - ay;
        tocx = cx - bx;
        tocy = cy - by;
        todx = dx - cx;
        tody = dy - cy;
        step = 1 / ITERATIONS_COUNT;
    
        for (var i = 0; i < ITERATIONS_COUNT; i++) {
            var d = i * step;
            px = ax + d * tobx;
            py = ay + d * toby;
            qx = bx + d * tocx;
            qy = by + d * tocy;
            rx = cx + d * todx;
            ry = cy + d * tody;
            toqx = qx - px;
            toqy = qy - py;
            torx = rx - qx;
            tory = ry - qy;
    
            sx = px + d * toqx;
            sy = py + d * toqy;
            tx = qx + d * torx;
            ty = qy + d * tory;
            totx = tx - sx;
            toty = ty - sy;
    
            x = sx + d * totx;
            y = sy + d * toty;
    
            minX = Math.min(minX, x);
            minY = Math.min(minY, y);
            maxX = Math.max(maxX, x);
            maxY = Math.max(maxY, y);
        }
    
        return {
            x: minX,
            y: minY,
            width: maxX - minX,
            height: maxY - minY
        };
    }

    Хорошей функции должно быть много

    ivasilev, 19 Января 2016

    Комментарии (2)
  10. PHP / Говнокод #19328

    +12

    1. 1
    2. 2
    3. 3
    4. 4
    \Yii::$app->session->setFlash('success', 'Пользователь ' . $model->username . ' успешно добавлен');
    // TODO: какая-то херня с назначением прав(работой с фалами), поэтому и слип
    sleep(3);
    return $this->redirect(['index']);

    В любой непонятной ситуации ложись спать :)

    alex_matviichuk, 19 Января 2016

    Комментарии (0)