Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Насколько криптоустойчив XOR ? небольшая функция :-) 
:(
    Опции темы
ReFrehH
Дата 6.1.2008, 04:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 8.12.2007

Репутация: нет
Всего: нет



Очень будет любопытно узнать мнения знающих криптографию людей, насколько эта функция дает устойчивый шифр ? Если предположить что длинна Password будет большой ?

Код

    public static String Crypt(String s, String Password) {
        String res = "";
        for (int t = 0; t < s.length(); t++) {
            char tmp = ' ';
            for (int i = 0; i < Password.length(); i++) {
                int code = Password.codePointAt(i);
                tmp = (char) ((byte) (s.charAt(t)) ^ code);
            }
            res += tmp;
        }
        return res;
    }


ЗЫ: Функция вернет шифрованное значение строки s по паролю Password при первом вызове, и разшифрованное при повторном, если передать результат первоначального вызова функции и тот же Password.
PM MAIL   Вверх
nornad
Дата 6.1.2008, 05:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(ReFrehH @  6.1.2008,  07:05 Найти цитируемый пост)
Очень будет любопытно узнать мнения

Ну, примерно на уровне того, как и устойчивость логина/пароля admin/admin smile
К тому же, как я тебе уже сказал в другой теме, ты теряешь часть данных при криптовании:
Код

tmp = (char) ((byte) (s.charAt(t)) ^ code);



--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Alexandr87
Дата 6.1.2008, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 9
Всего: 39



ReFrehH, 

Да хоть сколько большая - все равно используешь лишь последний символ. (Вскрывается в течении нескольких секунд)

А вообще: 
1. не пойму - почему на выходе строка (там будет набор из всех 255 значений для одного байта), лучше выдавать byte[]. Да и вообще оперировать бинарными операциями для символов как-то, имхо не очень.
2. xor - это не функция шифрования, это просто обратимая операция, которая используется для наложения шифро гаммы на открытый текст. Она используется практически во всех современных блочных симметричных алгоритмах шифрования.
3. даже если и сделать так, чтобы гаммирование проходило нормально (накладывался не последний символ password, а последовательно все) все зависит от переданного значения password. Но, что то я сомневаюсь что все коды символов этого password будут равномерно и случайно распределены, что password будет при каждой передаче данных новый и что его длина будет большой. -> система имеет плохую криптостойкость.

Советывал бы в топку.

Это сообщение отредактировал(а) Alexandr87 - 6.1.2008, 07:18
PM Jabber   Вверх
nornad
Дата 6.1.2008, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(Alexandr87 @  6.1.2008,  10:14 Найти цитируемый пост)
чтобы гаммирование проходило нормально (накладывался не последний символ password

Кстати, да. В приведённом коде для каждого символа строки выполняется цикл "шифрования" по каждому символу пароля. Но! Из-за 
Код

tmp = (char) ((byte) (s.charAt(t)) ^ code);
 происходит потеря результата всех итераций, кроме последней. В общем, алгоритм можно сильно ускорить (особенно на длинных паролях) за счёт исключения второго цикла. smile


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
maxim1000
Дата 6.1.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



если длина пароля не меньше длины передаваемого сообщения, то это, в некотором смысле, - идеальный шифр, окторый не взламывается (ну разве что перебором, но это - все равно, что перебрать все сообщения такой длины)

подобное можно использовать. например, в армии: в мирное время по надёжному каналу передаём жутко длинный пароль, а при необходимости в сложные времена, когда надёжный канал недоступен, передаём сообщение с использованием этого пароля

кроме того, может оказаться, что есть надёжный канал для генерации пароля, но нет для передачи сообщения, тогда можно генерировать пароль, а сообщение передавать по открытому каналу, зашифрованное этим паролем

если пароль короче сообщения, его можно зацикливать, и тут уже стойкость падает: как только одним и тем же символом пароля становится зашифровано несколько символом сообщения появляются возможности для статистических методов...

Добавлено через 51 секунду
P.S.
код не смотрел, всё, что написал, относится к корректной реализации smile


--------------------
qqq
PM WWW   Вверх
Alexandr87
Дата 6.1.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 9
Всего: 39



Цитата(maxim1000 @  6.1.2008,  16:19 Найти цитируемый пост)
если длина пароля не меньше длины передаваемого сообщения, то это, в некотором смысле, - идеальный шифр, окторый не взламывается (ну разве что перебором, но это - все равно, что перебрать все сообщения такой длины)

ну тут уже нужно рассматривать генератор, с помощью которого была сгенерированна шифр-гамма.

+ повторное использование данной шифр-гаммы становится невозможным.
PM Jabber   Вверх
ReFrehH
Дата 6.1.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 8.12.2007

Репутация: нет
Всего: нет



Цитата(nornad @ 6.1.2008,  05:49)
Цитата(ReFrehH @  6.1.2008,  07:05 Найти цитируемый пост)
Очень будет любопытно узнать мнения

Ну, примерно на уровне того, как и устойчивость логина/пароля admin/admin smile
К тому же, как я тебе уже сказал в другой теме, ты теряешь часть данных при криптовании:
Код

tmp = (char) ((byte) (s.charAt(t)) ^ code);

да, спасибо, вариант с int решил проблему).
PM MAIL   Вверх
ReFrehH
Дата 6.1.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 8.12.2007

Репутация: нет
Всего: нет



Alexandr87,

Цитата

Да хоть сколько большая - все равно используешь лишь последний символ. (Вскрывается в течении нескольких секунд)

Точно, как я мог не заметить))
Цитата

А вообще: 
1. не пойму - почему на выходе строка (там будет набор из всех 255 значений для одного байта), лучше выдавать byte[]. Да и вообще оперировать бинарными операциями для символов как-то, имхо не очень.

Дело в том что работать приходится со строками.
Цитата

2. xor - это не функция шифрования, это просто обратимая операция, которая используется для наложения шифро гаммы на открытый текст. Она используется практически во всех современных блочных симметричных алгоритмах шифрования.

Да, под функцией я не имел ввиду операцию xor, а именно последовательное наложение всех символов password'a, то что ты упоминаешь в след. пункте...
Цитата

3. даже если и сделать так, чтобы гаммирование проходило нормально (накладывался не последний символ password, а последовательно все) все зависит от переданного значения password. Но, что то я сомневаюсь что все коды символов этого password будут равномерно и случайно распределены, что password будет при каждой передаче данных новый и что его длина будет большой. -> система имеет плохую криптостойкость.

а если предположить:
последовательное наложение с учетом позиции каждого символа в password'е;
случайную генерацию password'a при каждом новом сеансе связи;
длинну password'a меньше длинны сообщения - ?

при использовании, например, таким образом : 
Код

    public static String Crypt(String s, String Password) {
        String res = "";
        for (int t = 0; t < s.length(); t++) {
            char tmp = s.charAt(t);
            for (int i = 0; i < Password.length(); i++) {
                int code = Password.codePointAt(i);
                tmp = (char) ((short) tmp ^ (code*i));
            }
            res += tmp;
        }
        return res;
    }


Это сообщение отредактировал(а) ReFrehH - 6.1.2008, 16:09
PM MAIL   Вверх
Alexandr87
Дата 6.1.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 9
Всего: 39



Цитата(ReFrehH @ 6.1.2008,  18:55)
а если предположить:
последовательное наложение с учетом позиции каждого символа в password'е;
случайную генерацию password'a при каждом новом сеансе связи;
длинну password'a меньше длинны сообщения - ?

при использовании, например, таким образом : 
Код

    public static String Crypt(String s, String Password) {
        String res = "";
        for (int t = 0; t < s.length(); t++) {
            char tmp = s.charAt(t);
            for (int i = 0; i < Password.length(); i++) {
                int code = Password.codePointAt(i);
                tmp = (char) ((short) tmp ^ (code*i));
            }
            res += tmp;
        }
        return res;
    }

эквивалентно простой замене.
вскрывается за несколько секунд с любой длиной password`а

Я не понимаю, что вы хотите изобрести?


Это сообщение отредактировал(а) Alexandr87 - 6.1.2008, 16:36
PM Jabber   Вверх
ReFrehH
Дата 6.1.2008, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 8.12.2007

Репутация: нет
Всего: нет



Цитата(Alexandr87 @ 6.1.2008,  16:34)
эквивалентно простой замене.
вскрывается за несколько секунд с любой длиной password`а


Можно чуть подробнее? я чего то явно недопонимаю. :(

Цитата

Я не понимаю, что вы хотите изобрести?


Небольшую функцию, дающей более менее стойкий шифр для "домашнего" использования smile.
PM MAIL   Вверх
nornad
Дата 6.1.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(maxim1000 @  6.1.2008,  16:19 Найти цитируемый пост)
кроме того, может оказаться, что есть надёжный канал для генерации пароля, но нет для передачи сообщения

Хотелось бы услышать пример такой ситуации.

Цитата(ReFrehH @  6.1.2008,  18:55 Найти цитируемый пост)
а если предположить:последовательное наложение с учетом позиции каждого символа в password'е;

А ради чего каждый символ строки криптуется всеми символами пароля? Ну, стал алгоритм чуть сложнее и явно медленнее, но криптостойкость увеличилась ненамного. Скажем, на одну миллирдную  smile 
От пользователя защитит, а если дать хакеру - раскусит довольно быстро и даже огорчится от этого. smile

Вообще я хочу спросить:
Для чего тебе риптование?
Насколько важные данные?
Что важнее - не дать расшифровать вообще или не дать расшифровать быстро? (первое в принципе неосуществимо для обратимого шифрования, а необратимое вряд ли кому-то нужно smile ).
От кого криптуешь?
Каков усреднённый объём данных?

Добавлено через 7 минут и 21 секунду
Цитата(ReFrehH @  6.1.2008,  19:48 Найти цитируемый пост)
Небольшую функцию, дающей более менее стойкий шифр для "домашнего" использования

Ну, тогда используй сдвиг символа в алфавите (надеюсь, базовые понятия из криптографии имеются? хотя учитывая надежду на XOR... в общем алфавит - это набор символов, из которых состоят твои сообщения). Величину сдвига бери из генератора псевдослучайной последовательности. Для расшифровки хватит иметь шифровку и значения для инициализации генератора. Кстати, XOR вместо сдвига тоже подойдёт - каждый символ ксорить по новому числу из генератора.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Alexandr87
Дата 6.1.2008, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 9
Всего: 39



Цитата(nornad @  6.1.2008,  19:50 Найти цитируемый пост)
А ради чего каждый символ строки криптуется всеми символами пароля? Ну, стал алгоритм чуть сложнее и явно медленнее, но криптостойкость увеличилась ненамного. Скажем, на одну миллирдную

скажем так. Криптостойкость не увеличилась, а уменьшилась. Вернее стойкости не осталось.

Цитата(ReFrehH @  6.1.2008,  19:48 Найти цитируемый пост)
Можно чуть подробнее? я чего то явно недопонимаю. :(

Попробуйте зашифровать в вашей программе строку "abcabc"  с любым ключом. Думаю многое станет ясным. 

Если не стало:
в каждом цикле у вас делается следующее
message[i] ^ key[0] ^ key[1] ^ ... ^ key[n]

Как видите key[0] ^ key[1] ^ ... ^ key[n] есть постоянно.
Каждый символ строки вы ксорите с одним и тем же числом. В результате одинаковым символам открытого текста соответствуют одинаковые "символы" шифртекста. Разным - разные. Далее - частотный анализ на закрытый текст и получаете открытый текст.

ЗЫ. ну и совет - не стоит парить себе моск. Возьмите готовые реализации шифров.

Это сообщение отредактировал(а) Alexandr87 - 6.1.2008, 17:03
PM Jabber   Вверх
ReFrehH
Дата 6.1.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 8.12.2007

Репутация: нет
Всего: нет



Цитата(nornad @ 6.1.2008,  16:50)
А ради чего каждый символ строки криптуется всеми символами пароля? 

в попытке повысить стойкость, но видимо ... 

Цитата

Ну, стал алгоритм чуть сложнее и явно медленнее, но криптостойкость увеличилась ненамного. Скажем, на одну миллирдную  smile 

От пользователя защитит, а если дать хакеру - раскусит довольно быстро и даже огорчится от этого. smile

не очень удачная мысль smile

Цитата

Вообще я хочу спросить:
Для чего тебе риптование?

для передачи данных  по сетке
Цитата

Насколько важные данные?

Не сказал бы что очень, но хотелось бы шифровать достаточно стойко.
Цитата

Что важнее - не дать расшифровать вообще или не дать расшифровать быстро? (первое в принципе неосуществимо для обратимого шифрования, а необратимое вряд ли кому-то нужно smile ).

smile, согласен, но чтоб расшифровка заняла время больше и пока инфа, например, потеряет актуальность...
Цитата

От кого криптуешь?

сложный вопрос smile
Цитата

Каков усреднённый объём данных?

В среднем строка длинной 200-300 символов.
PM MAIL   Вверх
nornad
Дата 6.1.2008, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Если
Цитата(ReFrehH @  6.1.2008,  20:04 Найти цитируемый пост)
От кого криптуешь?сложный вопрос 

то
Цитата(Alexandr87 @  6.1.2008,  20:02 Найти цитируемый пост)
ЗЫ. ну и совет - не стоит парить себе моск. Возьмите готовые реализации шифров.

smile
Зачем изобретать очередной велосипед с квадратными колёсами если их и в нете полно?

Это сообщение отредактировал(а) nornad - 6.1.2008, 17:16


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
ReFrehH
Дата 6.1.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 8.12.2007

Репутация: нет
Всего: нет



Цитата(Alexandr87 @ 6.1.2008,  17:02)
Попробуйте зашифровать в вашей программе строку "abcabc"  с любым ключом. Думаю многое станет ясным. 

Если не стало:
в каждом цикле у вас делается следующее
message[i] ^ key[0] ^ key[1] ^ ... ^ key[n]

Как видите key[0] ^ key[1] ^ ... ^ key[n] есть постоянно.
Каждый символ строки вы ксорите с одним и тем же числом. В результате одинаковым символам открытого текста соответствуют одинаковые "символы" шифртекста. Разным - разные. Далее - частотный анализ на закрытый текст и получаете открытый текст.

ЗЫ. ну и совет - не стоит парить себе моск. Возьмите готовые реализации шифров.

Спасибо за объяснение; совет конешно дельный, только я не смог найти java реализацию свободного для использования алгоритма, может что то порекомендуете  ? (тольк не применяя javax.crypto.*, т.к. работать приходица с J2ME)
PM MAIL   Вверх
maxim1000
Дата 6.1.2008, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



Цитата(nornad @  6.1.2008,  16:50 Найти цитируемый пост)
Хотелось бы услышать пример такой ситуации.

о, это вообще приятный метод
представим двух людейв толпе, кричащих друг другу что-то
первое впечатление - ничего секретного передать нельзя
но есть один способ:
выбирается общее большое простое число p (оно известно всем, и подслушивающим тоже)
выбирается общее основание e (тоже всем известно)
потом первый человек загадывает число a (известно только ему) и кричит второму число e^a
получается, что e^a известно всем, а вот a - нет, т.к. взять логарифм быстро не получится (разве что перебором)
второй человек слушает e^a, загадывает b и кричит e^b
получается такая ситуация:
первый знает a, e^b
второй - b, e^a
толпа вокруг знает e^a и e^b
так вот оба человека могут посчитать e^(a*b):
первый - как (e^b)^a
второй - как (e^a)^b
а вот толпа посчитать его не может

а теперь эти люди могут использовать битовое представление e^(ab) для кодирования (например, xor) своих сообщений
т.е. в данном случае есть канал для синхронизации - получения одинакового пароля на обоих концах, и его можно назвать защищённым, но люди не могут контролировать, что именно получится в результате, поэтому по этому защищённому каналу само сообщение передать не получится...

я знаю только о двух уязвимостях:
1. нужно как-то быть уверенным, что ты говоришь именно с тем, с кем думаешь, а не с кем-то, кто притворяется
2. (тут уже упоминалось) нужен качественный генератор случайных чисел для a,b



--------------------
qqq
PM WWW   Вверх
nornad
Дата 6.1.2008, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(ReFrehH @  6.1.2008,  20:39 Найти цитируемый пост)
может что то порекомендуете  ?

Я тебе уже рекомендовал.  smile 

Цитата(maxim1000 @  6.1.2008,  20:48 Найти цитируемый пост)
о, это вообще приятный методпредставим двух людейв толпе...

Это не ситуация с наличием защищённого канала передачи пароля. Пароль здесь передаётся по тому же открытому каналу, что и данные. А вот ситуацию с наличием защищённого канала, по которому можно передать пароль, но нельзя передать данные, я пока не представляю. Единственное, что приходит в голову - некий канал, по которому можно передать лишь очень небольшую порцию информации, но это за уши притянуто, по-моему.

Добавлено через 1 минуту и 3 секунды
Цитата(maxim1000 @  6.1.2008,  20:48 Найти цитируемый пост)
2. (тут уже упоминалось) нужен качественный генератор случайных чисел для a,b

Я упоминал генератор псевдослучайных чисел.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Alexandr87
Дата 6.1.2008, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 9
Всего: 39



Цитата(ReFrehH @  6.1.2008,  20:39 Найти цитируемый пост)
(тольк не применяя javax.crypto.*, т.к. работать приходица с J2ME)

bouncycastle.org
есть версия, работающая на j2me. 
PM Jabber   Вверх
ReFrehH
Дата 6.1.2008, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 8.12.2007

Репутация: нет
Всего: нет



Цитата(Alexandr87 @ 6.1.2008,  19:12)
Цитата(ReFrehH @  6.1.2008,  20:39 Найти цитируемый пост)
(тольк не применяя javax.crypto.*, т.к. работать приходица с J2ME)

bouncycastle.org
есть версия, работающая на j2me.

Спасиб, уже разбираю )
PM MAIL   Вверх
maxim1000
Дата 7.1.2008, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



Цитата(nornad @  6.1.2008,  19:07 Найти цитируемый пост)
Это не ситуация с наличием защищённого канала передачи пароля. Пароль здесь передаётся по тому же открытому каналу, что и данные. А вот ситуацию с наличием защищённого канала, по которому можно передать пароль, но нельзя передать данные, я пока не представляю.

ну тут я имел в виду, что есть канал (а точнее - протокол), который позволяет участникам сообща сгенерировать пароль, который будут знать они, но не все остальные
взможно, не совсем правильно выразился...

Цитата(nornad @  6.1.2008,  19:07 Найти цитируемый пост)
Я упоминал генератор псевдослучайных чисел.

в общем-то никто не мешает использовать какие-то хаотические физические процессы для внесения случайности, хотя оборудование, конечно, усложняется...



--------------------
qqq
PM WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0640 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.