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

Как создавать папки с поролем - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.69
Happy!
 Аватар для Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
06.01.2011, 00:47     Как создавать папки с поролем #1
Здраствуйте, помогите пожалуйсто, как сделать так чтобы программа создавала папку под паролем?

Добавлено через 3 часа 32 минуты
Ну что некто незнает хотябы примерно как это сделать можно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KuKu
 Аватар для KuKu
1538 / 1016 / 69
Регистрация: 17.04.2009
Сообщений: 2,945
07.01.2011, 01:20     Как создавать папки с поролем #41
Почти угадал. Уже заготовил новую шуточку, но после слов
Цитата Сообщение от deadlock Посмотреть сообщение
я бывший сотрудник органов гос.безопасности
чет очково стало ).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 14.12.2010
Сообщений: 1,265
07.01.2011, 01:23     Как создавать папки с поролем #42
да че ты очкуешь, Славик © ))))))
Happy!
 Аватар для Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
08.01.2011, 21:14  [ТС]     Как создавать папки с поролем #43
Чет нефига у меня неполучается, немогу найти норм описание fread(), помогите кто может, чтобы кодировать я написал, это легко, а вот разбить файл на байты немогу...
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 14.12.2010
Сообщений: 1,265
08.01.2011, 21:36     Как создавать папки с поролем #44
fread():
http://www.cplusplus.com/reference/c.../cstdio/fread/
так как побайтно считываешь - можно и fgetc() использовать - он сразу по одному читает
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,268
09.01.2011, 00:13     Как создавать папки с поролем #45
А вот есть мой простенький алгоритм.
Берёшь бинарный файл, берёшь число от 0 до 256. Например, число 30

К каждому байту, который меньше либо равен числа (256-30) ты прибавляешь 30
От всех остальных байт ты отнимаешь число (256- 30+ 1)

Получается неперевариваемая херь. Ну, дешифровать как сам догадайся.
Недостаток: если рассматривать зашифрованный так экзешник под микроскопом, то можно заподозрить неладное. Экзешник это нули. Много одинаковых элементв может вызвать подозрение у дешифраторщика.
НО это частный случай. А в общем получится неперевариваемая херь.

Ну можно углубиться дальше, тебе алгоритмов накидали всяких. Вообще надо почитать про это дело.
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 14.12.2010
Сообщений: 1,265
09.01.2011, 00:18     Как создавать папки с поролем #46
всё зависит от стоимости защищаемой информации, исходя из нее выбирается метод защиты. приведенный метод прибавления числа - шифр простой замены, которым пользовались еще в древности. тогда это была реально "неперевариваемая херь", а сейчас - пару минут работы программы и аналитика.
Happy!
 Аватар для Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
09.01.2011, 00:25  [ТС]     Как создавать папки с поролем #47
Вобщем написал, может немного криво получилось просто винда слетела и я остался без компиляторов и писал в блокноте...
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
using namespace std;
  int main()
  {
    FILE *fp;
    char ch;
    int s = 0;
    char a[9999999];
    int g = 0;
    //Открываем файл
    if((fp=fopen("test","r"))==NULL) {
      printf("Cannot open file.\n");
      exit(1);
    }
    //Переменная s подсчитывает количество бит в файле
    //Переменная а записывает каждый бит
    while((ch=fgetc(fp)) != EOF) {
        s++;
        a[s] = ch;
       }
    fclose(fp);
    //Генерируем число (ключ) от 10 000 000 до 99 999 999 
    int f[s];
    while(s > g)
    {
    g++;
    srand(time(NULL));
    f[g] = 10000000 + rand() % 99999999; 
    }
    
     
    //Шифрование
    int k = 0;
    char v[s];
    while(s > k){
    k++;
    v[k] = a[k]^f[k];
    }
    
    
    //В переменной f находятся ключи
    //В переменной v находится зашифрованный фйл
     
   
     cout << "Шифрование закончено" << endl;
    system("PAUSE");
    return 0;
  }
Ну как правильно?
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,268
09.01.2011, 00:36     Как создавать папки с поролем #48
Аналитик сработает с закономерностями. Я даже подсказать могу, как зашифрованные закономерности спалить.
Закономерности- это много нолей. Больше ничё в головуне приходит. Ну, вот пожалуй на них можно и остановиться.

В общем же случае это неперевариваемая херь, которую спалит лишь машина и даже без ключа. За две, как было замечено, минуты. Но что-о же она должна знать, кроме собсно зашифрованного файла!

Это что-то- алгоритм. А он- тайна за семью печатями и не потому, что он труден- это не так. А потому, что таких алгоритмов вагон и маленькая тележка. И даже ваш покорный слуга за две минуты может сгенерить АБСОЛЮТНО НОВЫЙ алгортим, которого нет и в помине. Он будет прост, но он будет нов и никем не учтён. Если бы я был один такой умный, а то такое проделывает КАЖДЫЙ уважающий себя шифраторщик. Поэтому ставить на то, что файл зашифрован боле или менее известным алгоритмом без какой-либо модификации последнего... Я бы не стал

(Пример: берём за основу известный алгорим CRC-8. Чуть-чуть модификации и всё.)

Добавлено через 3 минуты
Тс, ты что собрался хранить ключ равный длине файла? Не смеши людей.
Happy!
 Аватар для Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
09.01.2011, 01:15  [ТС]     Как создавать папки с поролем #49
Эм... а что тут смешного, если нужна очень мощная защита почему бы и не взять ключ размером с файл?!
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 14.12.2010
Сообщений: 1,265
09.01.2011, 02:08     Как создавать папки с поролем #50
Цитата Сообщение от kravam Посмотреть сообщение
Аналитик сработает с закономерностями. Я даже подсказать могу, как зашифрованные закономерности спалить.
Закономерности- это много нолей. Больше ничё в головуне приходит. Ну, вот пожалуй на них можно и остановиться.

В общем же случае это неперевариваемая херь, которую спалит лишь машина и даже без ключа. За две, как было замечено, минуты. Но что-о же она должна знать, кроме собсно зашифрованного файла!

Это что-то- алгоритм. А он- тайна за семью печатями и не потому, что он труден- это не так. А потому, что таких алгоритмов вагон и маленькая тележка. И даже ваш покорный слуга за две минуты может сгенерить АБСОЛЮТНО НОВЫЙ алгортим, которого нет и в помине. Он будет прост, но он будет нов и никем не учтён. Если бы я был один такой умный, а то такое проделывает КАЖДЫЙ уважающий себя шифраторщик. Поэтому ставить на то, что файл зашифрован боле или менее известным алгоритмом без какой-либо модификации последнего... Я бы не стал

(Пример: берём за основу известный алгорим CRC-8. Чуть-чуть модификации и всё.)
kravam, ты ошибаешься в самой основе своих рассуждений - из алгоритма тайны не делается, в криптографии считается, что алгоритм известен противнику, а вся секретность заключена в ключе и больше ни в чем. описания и стандарты на все распространенные алгоритмы шифрования - легкодоступны. я не спорю, что "чуть-чуть алгоритм поправил" - и все типа новый алгоритм. а ты уверен в том, что ты усилишь, а не ослабишь алгоритм? что не сделаешь его вскрытие на n порядков быстрее? думаю не уверен.

Добавлено через 18 минут
З.Ы. "закономерности" - это не обязательно "много нолей"))))). никакой закономерности нет у абсолютно случайного процесса.
алгоритмы шифрования построены так, чтобы зашифрованное сообщение по структуре было ближе к шумовым сигналам - дабы убрать закономерности того, что подверглось шифрованию (речь, картинка, текст - это все закономерности, из которых можно набрать определенную статистику)
сказки мне мона не рассказывать, ибо видел это все в живую)))))
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,268
09.01.2011, 02:15     Как создавать папки с поролем #51
мона не рассказывать говоришь? ну-ну...
Happy!
 Аватар для Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
09.01.2011, 02:20  [ТС]     Как создавать папки с поролем #52
Народ а что за фигня, отправил щас свой код другу, он на dev c++ запустил код, говорит что после компиляции виндовс начинает закрывать программу из за ошибки, что нетак? компелируеца же, значет должно работать...
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,268
09.01.2011, 02:26     Как создавать папки с поролем #53
Залезает не в ту область памяти может быть. Сплошь и рядом такое. На то оно и тестирование.
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 14.12.2010
Сообщений: 1,265
09.01.2011, 02:47     Как создавать папки с поролем #54
Цитата Сообщение от kravam Посмотреть сообщение
мона не рассказывать говоришь? ну-ну...
так аргументируй где я не прав, чего нукать пусто в воздух. с точки зрения криптографии ты не прав в корне.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,268
09.01.2011, 02:50     Как создавать папки с поролем #55
а зачем?
Ты мне сказал, что тебе мона не рассказывать сказки или что там. Мона. Не рассказывать то есть. Ну мона так мона. Я же не спорю с тобой, а соглашаюсь: мона.
Happy!
 Аватар для Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
09.01.2011, 14:16  [ТС]     Как создавать папки с поролем #56
А с программой то что делать? Зависает она после старота и винда ее вырубает...
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 14.12.2010
Сообщений: 1,265
09.01.2011, 14:27     Как создавать папки с поролем #57
массив ключа тоже char сделай, зачем ключ в таком гигантском диапазоне, длина ключа равна размеру файла побайтно. длина int 4 байта.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,268
09.01.2011, 16:03     Как создавать папки с поролем #58
Цитата Сообщение от Happy! Посмотреть сообщение
А с программой то что делать? Зависает она после старота и винда ее вырубает...
Отлаживать, чё. Искать место в исходнике , где сбой и там править.
Ищется так:
пишется :
C++
1
2
printf ("qqqqqqqqqqq");
getchar ()
Лепишь этот код в середину исходника. Если по запуску ты его видишь, значит, делишь оставшуюся часть кода на две части и лепишь туда такой же код, только строка пусть другая будет.
Если не видишь, значит, программа даёт сбой до того, как дойдёт до этого места. В этом случае делишь пополам предыдущую часть исходника и лепишь туда такой же код.

Вот так делишь и лепишь, делишь и лепишь. Пока код не сузится до маленького участка, чем меньше тем лучше.

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

...Чё сам-то не мог до подобного додуматься? Блин, тебе надо инет отрубить мигом дойдёшь, как я в своё время.
Happy!
 Аватар для Happy!
25 / 25 / 0
Регистрация: 07.12.2010
Сообщений: 245
09.01.2011, 16:18  [ТС]     Как создавать папки с поролем #59
Всмысле коюч гигантский, 1 байт это 8 бит, 1 смвол 1 бит, поэтому ключ из 8 символов

Добавлено через 3 минуты
Проблема в char a[]; , почемуто нельзя использовать 9999 я 100 поставил и заработало...
Как определить вес фала в байтах, чтобы добавить в char a[100]; ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.01.2011, 16:27     Как создавать папки с поролем
Еще ссылки по теме:

как создавать .h файлы? C++
Как создавать панель состояния? C++
Как создавать информативные исключения? C++

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

Или воспользуйтесь поиском по форуму:
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 14.12.2010
Сообщений: 1,265
09.01.2011, 16:27     Как создавать папки с поролем #60
Цитата Сообщение от Happy! Посмотреть сообщение
Всмысле коюч гигантский, 1 байт это 8 бит, 1 смвол 1 бит, поэтому ключ из 8 символов

Добавлено через 3 минуты
Проблема в char a[]; , почемуто нельзя использовать 9999 я 100 поставил и заработало...
Как определить вес фала в байтах, чтобы добавить в char a[100]; ?
1 символ - это 1 байт, а не бит. если размер файла 3456 байт, ключ тоже должен быть 3456 байт.
размер файла можно получить - открыть файл, установить указатель в конец файла и получить его позицию - получишь размер в байтах.
складывая 1 байтный char с 4 байтным int и сохраняя результат в char - ты задействуешь только младший байт из int. ключ надо генерировать в пределах 0 - 255 (1 байт).
Yandex
Объявления
09.01.2011, 16:27     Как создавать папки с поролем
Ответ Создать тему
Опции темы

Текущее время: 17:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru