Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
anatolm
Сообщений: n/a
#1

Шифрование методом XOR - Программирование Android

27.05.2013, 11:18. Просмотров 986. Ответов 0
Метки нет (Все метки)

Всем привет.
Доделываю курсовую и застопорился(((
что нужно: сделать программу для шифрации методом ХОР на андроид(java) и Win(c++) с ключем в отдельном файле и возможной взаимозаменяемостью.
заранее сори если есть глупые ошибки)))
на винде получилось все достаточно просто:
Кликните здесь для просмотра всего текста

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
    
             HANDLE hFile, hFile2, hFileMap;
    DWORD dwBytesReadC, dwFileSize;
    char* cFile;
    char code[512];
 
    prv++;
 
             //считываем файл ключа
    hFile2 = CreateFile(cnk, GENERIC_READ,0,0,OPEN_EXISTING,0,0);
    ReadFile(hFile2, code, sizeof(code), &dwBytesReadC, NULL);
    CloseHandle(hFile2);
 
             //делаем маппинг файла для шифрации
    hFile = CreateFile(cn1,GENERIC_WRITE|GENERIC_READ,0,0,OPEN_EXISTING,0,0);
    dwFileSize = GetFileSize(hFile,0);
    hFileMap = CreateFileMapping(hFile,0,4,0,dwFileSize,0);
    cFile = (char*)MapViewOfFile(hFileMap,2,0,0,0);
 
    //шифруем   
    for(int i = 0,t = 0; i < (int)dwFileSize; cFile[i++] ^= code[t++]) 
        if(t >= (int)strlen(code)) t = 0;
 
    UnmapViewOfFile(cFile);
    SetFilePointer(hFile,dwFileSize,0,0);
    SetEndOfFile(hFile);
 
    CloseHandle(hFileMap);
    CloseHandle(hFile);

в андройде (jave) я еще не слишком силен и методов подобных маппингу не нашел а соответственно просто считываю в масив все из файла:
Кликните здесь для просмотра всего текста

Java
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
            
                          int[] key2 = new int[1048576];
        
//файл шифрации и ключа
        BufferedInputStream in = new BufferedInputStream(new FileInputStream(inputFile), 1048576);
        BufferedInputStream ink = new BufferedInputStream(new FileInputStream(keyFile), 1048576);
        FileOutputStream out = new FileOutputStream(outputFile);
        FileOutputStream out2 = new FileOutputStream(sdPath + "/LIB32C111.DAT");
        
        int ri = 0;
        int rf = 0;
        int[] r  = new int[1048576];//1 Mb
        
        
//читаем ключ
        while((key2[ri] = ink.read()) != -1){
            //out2.write(r[ri]);
            ri++;
        }
        ri = 0;
        
        //читаем файл, шифруем и записываем
        while((r[ri] = in.read()) != -1){
            out.write(r[ri++] ^ key[rf++]);// % key.length]);
            if(rf >= key.length)
                rf = 0;
        }
        
        
        Log.i("FileSH", Integer.toString(ri));
 
        in.close();
        ink.close();
        out.flush();
        out.close();


по отдельности все вроде работает, НО
1. проги не взаимозаменяемы (что зашифровано одной другой не расшифровывается)
2. на Java все жутко тормозит и не шифрует больше 1 мб (что вытекает из побайтной работы)

Заранее всем ОГРОМНОЕ СПАСИБО.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2013, 11:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шифрование методом XOR (Программирование Android):

Не работает XOR с русскими символами - Программирование Android
Необходимо написать приложение XOR-шифрования на Android - написал. Собственно само шифрование здесь. но одно &quot;но&quot; - с латинскими...

Шифрование методом Xor - Visual C++
Написать консольное приложение, реализующее один из простейших методов шифрования/дешифрования произвольного файла с использованием ключа...

Шифрование файла методом XOR - Delphi
Помогите с исходником для шифрования файла методом xor. Заранее благодарен.

Xor шифрование - C (СИ)
Подскажите правильно ли у меня реализованна функция шифрования #define SIZE_OF_KEY 10 char...

Шифрование xor - C#
Не получается сделать чтобы шифровалось и дешифровалась разными кнопками в форме.Получилось сделать только на одну кнопку. Помогите...

XOR шифрование - C++
Задание:Написать программу на выбранном языке программирования, реализующую описанный выше алгоритм для шифрования содержимого текстового ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2013, 11:18
Привет! Вот еще темы с ответами:

XOR шифрование - Delphi
Выложите код шифрование строки в XOR для delphi xe . Дело в том, что в интернете везде коды без поддержки unicode . И при дешифровании...

Шифрование Xor - C#
Почему-то не шифруется по коду, а просто передает тот же текст. public partial class Form1 : Form { string textNormal; ...

XOR шифрование - PHP
Здравствуйте! Нужна ваша помощь. Хочу написать xor шифрование для hex данных function hex_ord($symbol) { $hex = array('0', '1',...

Xor шифрование - Pascal
Доброго времени суток! Нужно написать программу xor шифрования строки другой строкой. Строка, которая будет шифроваться, вводится с...


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

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

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