1. Java / Говнокод #14228

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWITHMD5ANDTRIPLEDES");
    PBEKeySpec spec = new PBEKeySpec(password, salt, 1024, 128);
    SecretKey key = factory.generateSecret(spec);
    hexdump(key.getEncoded());

    http://ideone.com/bVElQG

    Не, ну я все понимаю, PKCS #5 1.5 аля PBE, MD5 и DES не считаются безопасными алгоритмами... но не настолько же...

    bormand, 14 Декабря 2013

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

    +137

    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
    if (!string.IsNullOrEmpty(date))
    			{
    				var result = date.Split('.');
    				filter.TenderDate.Start = new DateTime(
    					Convert.ToInt16(result[2]),
    					Convert.ToInt16(result[1]),
    					Convert.ToInt16(result[0]),
    					0,
    					0,
    					0);
    				filter.TenderDate.End = new DateTime(
    					Convert.ToInt16(result[2]),
    					Convert.ToInt16(result[1]),
    					Convert.ToInt16(result[0]),
    					23,
    					59,
    					59);
    			}

    Парсинг дат? Не, не слышал.

    xumix, 14 Декабря 2013

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

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $(function () {
    		var objects = [
    		@foreach (var item in Model.PlannedObjectSet)
      {
    			<text>{ Address: '@item.Address', Name: '@item.Name', Id: @item.Id, date: '@item.PlannedStartDate', type: @item.ObjectType, Coords: @(item.Coords ?? "null") }@(item == Model.PlannedObjectSet.Last() ? "" : ",")</text>
      }
    		];
    		$('#map').tenderMap({mode:'p', zoom:10, center:[55.83, 37.58]});
    		$('#map').tenderMap('showData', objects);
    	});

    Вот такая вот сериализация в JSON встретилась мне сегодня в коде Razor view

    xumix, 14 Декабря 2013

    Комментарии (58)
  4. Assembler / Говнокод #14225

    +143

    1. 1
    2. 2
    .686
    .model tiny

    Весьма специфичная ошибка при использовании masm32.

    laMer007, 14 Декабря 2013

    Комментарии (56)
  5. Си / Говнокод #14224

    +135

    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
    void permutate(int a[10], int n) {
        // God bless mr. Donald E. Knuth;
        // Tons of oil to English bell ringers!
    
        // WARNING: It's dangerous to go alone, take this^H read this shit
        int c[10], o[10], j, s, q;
        for (j = 1; j <= n; j++) {
            c[j] = 0;
            o[j] = 1;
        }
        while (1) {
            check(a, n);
            j = n;
            s = 0;
            while (1) {
                do {
                    q = c[j] + o[j];
                    if (q < 0) { o[j] = -o[j]; --j; }
                } while (q < 0);
                if (q == j) {
                    if (j == 1) return; else ++s;
                    o[j] = -o[j];
                    --j;
                    continue;
                }
                int t = a[j - c[j] + s];
                a[j - c[j] + s] = a[j - q + s];
                a[j - q + s] = t;
                c[j] = q;
                break;
            }
        }
    }

    Реализация алгоратма "простых изменений" по описанию из Кнута (т4. Комбинаторный поиск, генерация всех перестановок).
    Напрашивающиеся goto раздражают, было бы приятно увидеть менее пахучие реализации. Не смог нагуглить, забугорного названия этого алгоритма не знаю, а про "простые изменения" тинай вики молчит.

    vistefan, 13 Декабря 2013

    Комментарии (95)
  6. JavaScript / Говнокод #14223

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $.validator.addMethod("phoneNumber",
            function(value, element) {
                 var letterNumber = /^[a-zA-Z]+$/;
                if (value.match(letterNumber)) {
                    return false;
                }
    
                var phoneString = value.replace(/\D/g, '');
                return phoneString.length == 0 || phoneString.length >= 11;
            });

    данная кучка "валидировала" телефонный номер

    Tessen, 13 Декабря 2013

    Комментарии (3)
  7. PHP / Говнокод #14222

    +164

    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
    if($_POST['Selling_property_1']!=NULL):update_field('field_51db015800526',  $_POST['Selling_property_1'], $_POST['pid']); endif;
    if($_POST['Relocation_budget_1']!=NULL):update_field('field_51db018100527',  $_POST['Relocation_budget_1'], $_POST['pid']); endif;
    if($_POST['Selling_property_2']!=NULL):update_field('field_51db01ac00528',  $_POST['Selling_property_2'], $_POST['pid']); endif;
    if($_POST['School_1']!=NULL):update_field('field_51db01b900529',  $_POST['School_1'], $_POST['pid']);endif;
    if($_POST['homestyling_1']!=NULL):update_field('field_51db01c60052a',  $_POST['homestyling_1'], $_POST['pid']);endif;
    if($_POST['Telephony_1']!=NULL):update_field('field_51db02090052b',  $_POST['Telephony_1'], $_POST['pid']);endif;
    if($_POST['Broadband_1']!=NULL):update_field('field_51db02130052c',  $_POST['Broadband_1'], $_POST['pid']);endif;
    if($_POST['TV_1']!=NULL):update_field('field_51db021c0052d',  $_POST['TV_1'], $_POST['pid']);endif;
    if($_POST['Home_alarm_1']!=NULL):update_field('field_51db02280052e',  $_POST['Home_alarm_1'], $_POST['pid']);endif;
    if($_POST['Craftsmen_1']!=NULL):update_field('field_51db023a0052f',  $_POST['Craftsmen_1'], $_POST['pid']);endif;
    if($_POST['Home_decor_1']!=NULL):update_field('field_51db023e00530',  $_POST['Home_decor_1'], $_POST['pid']);endif;
    if($_POST['Bank_1']!=NULL):update_field('field_51db024900531',  $_POST['Bank_1'], $_POST['pid']);endif;
    if($_POST['Moving_cmp_1']!=NULL):update_field('field_51db025400532',  $_POST['Moving_cmp_1'], $_POST['pid']);endif;
    if($_POST['homestyling_2']!=NULL):update_field('field_51db025f00533',  $_POST['homestyling_2'], $_POST['pid']);endif;
    if($_POST['change_1']!=NULL):update_field('field_51db026900534',  $_POST['change_1'], $_POST['pid']);endif;
    if($_POST['moving_cmp_2']!=NULL):update_field('field_51db027200535',  $_POST['moving_cmp_2'], $_POST['pid']);endif;
    if($_POST['moving_truck_1']!=NULL):update_field('field_51db027e00536',  $_POST['moving_truck_1'], $_POST['pid']);endif;
    if($_POST['household_cleaning_1']!=NULL):update_field('field_51db028800537',  $_POST['household_cleaning_1'], $_POST['pid']);endif;
    if($_POST['insurance_1']!=NULL):update_field('field_51db029200538',  $_POST['insurance_1'], $_POST['pid']);endif;
    if($_POST['cleaning_1']!=NULL):update_field('field_51db029c00539',  $_POST['cleaning_1'], $_POST['pid']);endif;
    if($_POST['Home_alarm_1']!=NULL):update_field('field_51db02a70053a',  $_POST['home_alarm_2'], $_POST['pid']);endif;
    if($_POST['select_2']!=NULL):update_field('field_51db02b10053b',  $_POST['select_2'], $_POST['pid']);endif;
    if($_POST['insurance_2']!=NULL):update_field('field_51db02ca0053c',  $_POST['insurance_2'], $_POST['pid']);endif;
    if($_POST['school_2']!=NULL):update_field('field_51db02d40053d',  $_POST['school_2'], $_POST['pid']);endif;
    if($_POST['Telephony_2']!=NULL):update_field('field_51db02e10053e',  $_POST['Telephony_2'], $_POST['pid']);endif;
    if($_POST['Broadband_2']!=NULL):update_field('field_51db02e50053f',  $_POST['Broadband_2'], $_POST['pid']);endif;
    if($_POST['TV_2']!=NULL):update_field('field_51db02f100540',  $_POST['TV_2'], $_POST['pid']);endif;
    if($_POST['gasket_1']!=NULL):update_field('field_51db02fc00541',  $_POST['gasket_1'], $_POST['pid']);endif;
    if($_POST['electricity_2']!=NULL):update_field('field_51db030400542',  $_POST['electricity_2'], $_POST['pid']);endif;
    if($_POST['storage_1']!=NULL):update_field('field_51db031600543',  $_POST['storage_1'], $_POST['pid']);endif;
    if($_POST['electricity_1']!=NULL):update_field('field_51db031c00544',  $_POST['electricity_1'], $_POST['pid']);endif;
    if($_POST['change_2']!=NULL):update_field('field_51db032700545',  $_POST['change_2'], $_POST['pid']);endif;
    if($_POST['garbage_1']!=NULL):update_field('field_51db033100546',  $_POST['garbage_1'], $_POST['pid']);endif;
    if($_POST['garbage_2']!=NULL):update_field('field_51db033c00547',  $_POST['garbage_2'], $_POST['pid']);endif;
    if($_POST['gasket_2']!=NULL):update_field('field_51db034400548',  $_POST['gasket_2'], $_POST['pid']);endif;
    if($_POST['storage_2']!=NULL):update_field('field_51db034e00549',  $_POST['storage_2'], $_POST['pid']);endif;
    if($_POST['cleaning_2']!=NULL):update_field('field_51db03570054a',  $_POST['cleaning_2'], $_POST['pid']);endif;
    if($_POST['moving_truck_2']!=NULL):update_field('field_51db035f0054b',  $_POST['moving_truck_2'], $_POST['pid']);endif;
    if($_POST['inspection_1']!=NULL):update_field('field_51db03690054c',  $_POST['inspection_1'], $_POST['pid']);endif;
    if($_POST['craftsmen_2']!=NULL):update_field('field_51db03750054d',  $_POST['craftsmen_2'], $_POST['pid']);endif;
    if($_POST['household_cleaning_2']!=NULL):update_field('field_51db037e0054e',  $_POST['household_cleaning_2'], $_POST['pid']);endif;

    Обработка формы румынскими колегами.

    jenezis, 13 Декабря 2013

    Комментарии (17)
  8. Java / Говнокод #14221

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    GZIPOutputStream out = new GZIPOutputStream(out) {
        {
            def.setLevel(Deflater.BEST_COMPRESSION);
        }
    };

    Вот так можно выставить максимальную степень сжатия GZIP-потока в жабе.

    roman-kashitsyn, 13 Декабря 2013

    Комментарии (73)
  9. PHP / Говнокод #14220

    +148

    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
    <?php
    
    /* Почему статические методы — говно */
    
    abstract class BaseNewsPeer {
    …
    	/**
    	 * Method to select one object from the DB.
    	 *
    	 * @param      Criteria $criteria object used to create the SELECT statement.
    	 * @param      PropelPDO $con
    	 * @return     News
    	 * @throws     PropelException Any exceptions caught during processing will be
    	 *		 rethrown wrapped into a PropelException.
    	 */
    	public static function doSelectOne(Criteria $criteria, PropelPDO $con = null)
    	{
    		$critcopy = clone $criteria;
    		$critcopy->setLimit(1);
    		$objects = NewsPeer::doSelect($critcopy, $con);
    		if ($objects) {
    			return $objects[0];
    		}
    		return null;
    	}
    …
    
    class NewsPeer extends BaseNewsPeer
    {
    	…
    }

    kix, 13 Декабря 2013

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

    +162

    1. 1
    eval('var pattern = /<b style="color:darkmagenta;">' + NickName + '<\\/b>/gim;');

    Да-да, так и делаю. new RegExp? Это как?

    Efog, 12 Декабря 2013

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