Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Шифрование текстового файла / 6 сообщений из 6, страница 1 из 1
13.10.2005, 20:02
    #33323753
sportman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Шифрование текстового файла
Нашел прогу (хотя это сильно сказано), которая кодирует по символьно данные из текстового файла. Ну, естественно, сначала считывает из него, кодирует, и записывает. В целом структура проги понятна, не понятно то, что такое: '\x0' – я понимаю, что именно это и кодирует. Ниже приведен кусок проги, который и отвечает за кодирование:

if ((oldf=fopen("D:\\orel\\oldn.txt","r"))!=NULL)
{
newf=fopen("D:\\orel\\newn.txt","w");
while (fgets(line,255,oldf)!=NULL)
{
for (c=0;c<strlen(line);c++)
if (line[c]==255)
line[c]='\x0'; // Что именно происходит в этой строке с символом?
else
line[c]=line[c]+1;
fputs(line,newf);
}
fclose (newf);
}
else
puts ("Not file");

Как вернуть исходное значение (произвести дешифрацию)?
...
Рейтинг: 0 / 0
13.10.2005, 21:25
    #33323828
fixit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Шифрование текстового файла
sportmanНашел прогу (хотя это сильно сказано), которая кодирует по символьно данные из текстового файла. Ну, естественно, сначала считывает из него, кодирует, и записывает. В целом структура проги понятна, не понятно то, что такое: '\x0' – я понимаю, что именно это и кодирует. Ниже приведен кусок проги, который и отвечает за кодирование:

if ((oldf=fopen("D:\\orel\\oldn.txt","r"))!=NULL)
{
newf=fopen("D:\\orel\\newn.txt","w");
while (fgets(line,255,oldf)!=NULL)
{
for (c=0;c<strlen(line);c++)
if (line[c]==255)
line[c]='\x0'; // Что именно происходит в этой строке с символом?
else
line[c]=line[c]+1;
fputs(line,newf);
}
fclose (newf);
}
else
puts ("Not file");

Как вернуть исходное значение (произвести дешифрацию)?

программа работает на принципе сдвига байтов. Последний сдвигать некуда - его ставят первым. (это та самая строка).
Ну а дешифрация - должен быть обратный процесс сдвига. В случае 0 - ставим 255.

На пальцах (к примеру): алфавит абвг... заменяем на бвгд... старше "я" ничего нет - заменяем на "а"
Получили шифровку из цента: "ЛФК ГБН".
Расшифровываем, получаем: "КУЙ ВАМ"


Есть чуть более сложные методы шифрования. См. здесь:
http://msdn.microsoft.com/msdnmag/issues/03/11/AES/
...
Рейтинг: 0 / 0
14.10.2005, 08:16
    #33324057
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Шифрование текстового файла
fixit[quot sportman]На пальцах (к примеру): алфавит абвг... заменяем на бвгд... старше "я" ничего нет - заменяем на "а"
Получили шифровку из цента: "ЛФК ГБН".
Расшифровываем, получаем: "КУЙ ВАМ"


Шифр Цезаря. Очень надежно защищает
от школьников младших классов
...
Рейтинг: 0 / 0
14.10.2005, 09:10
    #33324084
rrrrrrrrrr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Шифрование текстового файла
Весьма могучая подборка для шифрования с исходниками (правда, все на Паскале) - DCPCrypt на torry.net , алгоритмы с комментариями, в т.ч. хэш-функции. Там же лежит неплохая библиотека amncrypt.dll.
...
Рейтинг: 0 / 0
14.10.2005, 09:58
    #33324169
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Шифрование текстового файла
Кодирование - это еще не шифрование.
...
Рейтинг: 0 / 0
14.10.2005, 10:43
    #33324316
rrrrrrrrrr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Шифрование текстового файла
maytonКодирование - это еще не шифрование. - почему? это как минимум частный случай шифрования. Упорядоченная замена символов множества А на символы или подмножества множества Б.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Шифрование текстового файла / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]