Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2012, 19:32   #1
bpystep
Форумчанин
 
Регистрация: 25.02.2009
Сообщений: 180
По умолчанию C# list

всем доброго времени суток!
попросили помочь, но в C# не сильно разбираюсь, помогите разобраться.
Код:
public static List<int[,]> sBoxes = new List<int[,]>();

        static DESData()
        {
            sBoxes.Add(s1);
            sBoxes.Add(s2);
            sBoxes.Add(s3);
            sBoxes.Add(s4);
            sBoxes.Add(s5);
            sBoxes.Add(s6);
            sBoxes.Add(s7);
            sBoxes.Add(s8);
        }

        public static readonly int[,] s1 ={ { 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7 }, 
                                         { 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8 }, 
                                         { 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0 }, 
                                         { 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 } };
Код:
public string sBox_Transform(string text)
        {
            StringBuilder TransformedText = new StringBuilder(32);

            for (int i = 0; i < 8; i++)
            {
                string temp = text.Substring(i * 6, 6);
                TransformedText.Append(this.DoPermutation(temp, DESData.sBoxes[i]));

            }

            return TransformedText.ToString();
        }
Код:
//For SBoxes Transformation
        public string DoPermutation(string text, int[,] order)
        {
            string PermutatedText = "";
            int rowIndex = Convert.ToInt32(text[0].ToString() + text[text.Length - 1].ToString(), 2);
            int colIndex = Convert.ToInt32(text.Substring(1, 4), 2);
            PermutatedText = ProcessDES.FromDeciamlToBinary(order[rowIndex, colIndex]);
            return PermutatedText;
        }
поясните что именно мы передаем в DoPermutation, и как выбирается часть от int[,] order, вот здесь: order[rowIndex, colIndex]
Запомните, вы едете в Россию, поэтому когда компьютер попросит вас набрать пароль, наберите слово "Пароль"
bpystep вне форума Ответить с цитированием
Старый 29.04.2012, 20:35   #2
bpystep
Форумчанин
 
Регистрация: 25.02.2009
Сообщений: 180
По умолчанию

вопрос снят, это это что-то на подобие двумерного массива, и передаем мы номер строки и столбца из матрицы(двумерного массива).
в общем, разобрался.
Запомните, вы едете в Россию, поэтому когда компьютер попросит вас набрать пароль, наберите слово "Пароль"
bpystep вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c++][list] Порядок обработки двух list Padavan Помощь студентам 1 10.05.2011 14:56
list in list Cpluser Общие вопросы .NET 1 28.10.2010 02:38
List<> Cpluser Общие вопросы .NET 3 20.03.2010 15:02
List box help Ghennadiy Win Api 3 16.09.2009 22:33
List yurik1 Общие вопросы C/C++ 1 06.05.2008 16:34