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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Как лучше вывести текст? http://www.cyberforum.ru/android-dev/thread880229.html
Ребят помогите новичку разобраться как выводить detaiview , но только чтобы файл хранился локально , пока склоняюсь к открытию либо pdf либо doc,скажите какие способы вывода и хранения структурированного текста ?
Программирование Android Поддержка нескольких типов экранов Добрый вечер. В программировании для android я совсем недавно. Возникла проблема с поддержкой нескольких типов экранов. Вот по такому принципу делал: Low density Small screens QVGA 240x320 res/layout-small-ldpi res/layout-small-land-ldpi Low density Normal screens WVGA400 240x400 (x432) res/layout-ldpi res/layout-land-ldpi http://www.cyberforum.ru/android-dev/thread880091.html
Программирование Android Про виджеты
Здравствуйте. Никак не разберусь с виджетами. В общем смысл такой. 1)При создании любого по счету экземпляра виджета в его TextView загружается текстовая инфа из БД основного приложения. 2) При определенном действии в основном приложении (например, нажатие кнопки) - инфа обновляется и на TextView виджета. Понятно, что делать через BroadcastReceiver, но как инфу грузить потом в TextView каждого...
Программирование Android Завершения потока
Можно как-нить запустить новый поток, только после того как завершится первый???
Программирование Android Увеличение изображения в ImageView http://www.cyberforum.ru/android-dev/thread879922.html
Необходимо увеличить изображение, которое в ImageView (просмотр через ViewPager). Делаю так: int width = bitmap.getWidth() ; int height = bitmap.getHeight() ; int width1 = width*2 ; int height1 = height*2 ; Bitmap bitmapScale = Bitmap.createScaledBitmap(bitmap, width1, height1, false) ; imgView.setImageBitmap(bitmapScale) ;
Программирование Android Проверка на null Как правильно создать условие. У меня есть строчки кода, которые в переменную apiTokenMy записывают значение String tokenMy1 = method1.valueToken; String tokenMy2 = method2.valueToken; String tokenMy3 = method3.valueToken; выполнив method.valueToken подробнее

Показать сообщение отдельно
anatolm
Сообщений: n/a

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

27.05.2013, 11:18. Просмотров 981. Ответов 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 мб (что вытекает из побайтной работы)

Заранее всем ОГРОМНОЕ СПАСИБО.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru