Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Konstan
2 / 2 / 4
Регистрация: 03.11.2015
Сообщений: 170
#1

Дайте пример шифрования

26.11.2015, 13:49. Просмотров 698. Ответов 7
Метки нет (Все метки)

Дайте пример шифрования . Скажу сразу я новичок , в гугле нашёл этот пример но из-за него (как я понял) антивирус не даёт мне запустить мой файл ... ладно еслиб только я его юзал я бы в исключения добавил но юзать его будет 10 человек минимум так что хотелось бы увидеть что-то подобное но чтоб антивирус не ругался .
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
        public byte[] crpt(byte[] bytes, string Key)
        {
            byte[] b1 = Encoding.Default.GetBytes("oisdfnsd423s");
            byte[] b2 = System.Text.Encoding.ASCII.GetBytes(Key);
 
            byte[] key = new byte[b1.Length + b2.Length];
            Array.Copy(b1, key, b1.Length);
            Array.Copy(b2, 0, key, b1.Length, b2.Length);
 
            byte[] s = new byte[256];
            byte[] k = new byte[256];
            byte temp;
            int i, j;
 
            for (i = 0; i < 256; i++)
            {
                s[i] = (byte)i;
                k[i] = key[i % key.GetLength(0)];
            }
 
            j = 2; // j = 0
            for (i = 0; i < 256; i++)
            {
                j = (j + s[i] + k[i]) % 256;
                temp = s[i];
                s[i] = s[j];
                s[j] = temp;
            }
 
            i = j = 0;
            for (int x = 0; x < bytes.GetLength(0); x++)
            {
                i = (i + 73) % 256;
                j = (j + s[i]) % 256;
                temp = s[i];
                s[i] = s[j];
                s[j] = temp;
                int t = (s[i] + s[j]) % 256;
                bytes[x] ^= s[t];
            }
            return bytes;
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2015, 13:49
Ответы с готовыми решениями:

Нужен пример реализации алгоритма шифрования DES
Всем доброго времени суток =) Знаю, что во Framework'е есть встроенные средства...

Дайте пример работы с потоками, как их запускать и останавливать
Дайте пример работы с потоками, как их запускать и останавливать и делать паузу...

Нужен пример простенькой программы шифрования/дешифрования текста
Добрый день! В рамках самоизучения C# стал интересовать вопрос шифрации данных....

Нужен пример реализации алгоритма шифрования AES-128
Всем доброго времени суток =) Знаю, что во Framework'е есть встроенные средства...

Дайте исходник или полный пример авторизации API контакта
Дайте исходник или полный пример авторизации API контакта с получением...

7
LonerZzz
тыжПрограммист
317 / 132 / 43
Регистрация: 21.04.2014
Сообщений: 586
26.11.2015, 14:25 #2
так это RC4. Проверил код (брал на хабре). Всё компилит..антивирус не ругается..стоит KIS 2016
0
Konstan
2 / 2 / 4
Регистрация: 03.11.2015
Сообщений: 170
26.11.2015, 14:42  [ТС] #3
Цитата Сообщение от LonerZzz Посмотреть сообщение
так это RC4. Проверил код (брал на хабре). Всё компилит..антивирус не ругается..стоит KIS 2016
У меня пишет мол это : MSIL.Androm.3
Гуглил так и не понял что за вирус ...
0
LonerZzz
тыжПрограммист
317 / 132 / 43
Регистрация: 21.04.2014
Сообщений: 586
26.11.2015, 14:48 #4
Цитата Сообщение от Konstan Посмотреть сообщение
У меня пишет мол это : MSIL.Androm.3
http://habrahabr.ru/post/111510/
в самом низу ссылка на исходник
0
Konstan
2 / 2 / 4
Регистрация: 03.11.2015
Сообщений: 170
26.11.2015, 15:05  [ТС] #5
Цитата Сообщение от LonerZzz Посмотреть сообщение
в самом низу ссылка на исходник
Видимо с мной что-то не так )
А может можно как-то изменить мой код ?)
Ну там немного усложнить или напротив упростить )
0
LonerZzz
тыжПрограммист
317 / 132 / 43
Регистрация: 21.04.2014
Сообщений: 586
26.11.2015, 15:13 #6
Цитата Сообщение от Konstan Посмотреть сообщение
Видимо с мной что-то не так )
причём тут вы? я же вроде по-русски написал
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
using System;
using System.Linq;
 
 
namespace RC4_Testing
{
    public class RC4
    {
        byte[] S = new byte[256];
 
        int x = 0;
        int y = 0;
 
        public RC4(byte[] key)
        {
            init(key);
        }
 
        // Key-Scheduling Algorithm 
        // Алгоритм ключевого расписания 
        private void init(byte[] key)
        {
            int keyLength = key.Length;
 
            for (int i = 0; i < 256; i++)
            {
                S[i] = (byte)i;
            }
 
            int j = 0;
            for (int i = 0; i < 256; i++)
            {
                j = (j + S[i] + key[i % keyLength]) % 256;
                S.Swap(i, j);            
            }
        }
 
        public byte[] Encode(byte[] dataB, int size)
        {      
            byte[] data = dataB.Take(size).ToArray();              
 
            byte[] cipher = new byte[data.Length];
 
            for (int m = 0; m < data.Length; m++)
            {               
                cipher[m] = (byte)(data[m] ^ keyItem());
            }
 
            return cipher;
        }
        public byte[] Decode(byte[] dataB, int size)
        {
            return Encode(dataB, size);
        }
        
        // Pseudo-Random Generation Algorithm 
        // Генератор псевдослучайной последовательности 
        private byte keyItem()
        {
            x = (x + 1) % 256;
            y = (y + S[x]) % 256;
 
            S.Swap(x, y);
 
            return S[(S[x] + S[y]) % 256];
        }     
    }
 
    static class SwapExt
    {
        public static void Swap<T>(this T[] array, int index1, int index2)
        {
            T temp = array[index1];
            array[index1] = array[index2];
            array[index2] = temp;
        }
    }
}
вот рабочая реализация алогритма шифрования RC4
Дайте пример шифрования - C#
Пример дал - он рабочий..Проверен лично.
Используйте его вместо своего. Антивирус точно не ругается.
0
Konstan
2 / 2 / 4
Регистрация: 03.11.2015
Сообщений: 170
26.11.2015, 15:31  [ТС] #7
Цитата Сообщение от LonerZzz Посмотреть сообщение
Используйте его
мой
C#
1
byte[] key
Это
C#
1
byte[] S
0
LonerZzz
тыжПрограммист
317 / 132 / 43
Регистрация: 21.04.2014
Сообщений: 586
26.11.2015, 15:36 #8
А названия переменных на что-то влияют?
Вам я дал полностью рабочий алгоритм.
Тупо скопировать в проект и вызвать. Создать объект класса RC4 передав в параметрах ключ для шифрования/дешифрования.
А потом используя объект класса - > вызвать метод Encode c передачей данных для шифрования и их длину. ВСЁ
Для расшифрования вызвать метод Decode с теми же параметрами.
1
26.11.2015, 15:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2015, 15:36

Алгоритм шифрования
Нужен алгоритм шифрования и дешифрования строки. Два метода. Шифруем строку с...

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

Дайте советы для олимпиады
Доброго времени суток, через 2 недели мне идти на олимпиаду (ВОШ) по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru