PDA

View Full Version : انکریپت فایل متنی



hd2010hd
سه شنبه 01 اسفند 1391, 14:51 عصر
با سلام خواستم یه سورس کوچیک بذارین که چطوری میشه یه فایل متنی رو encript کرد با رمز خاص مرسی

developing
چهارشنبه 02 اسفند 1391, 11:39 صبح
با سلام

راحت ترین راه رمزگذاری یک متن یا فایل استفاده از عملگر xor هست که با یک عدد خاص انجام می گردد.
خوبی استفاده از عملگر xor این است که با همون عددی که رمز می کنید می تونید رمزگشایی انجام بدید. یک مثال ساده من قرار می دم (برای مسائل پیشرفته تر باید روش های رمزگذاری متقارن و نامتقارن رو بخونید)



#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <io.h>

int main()
{
char* FileName;
ifstream input;

long int length;

char* Buffer;

input.open("c:\\a.txt", ios::binary);
input.seekg(0, ios::end);
length = input.tellg();
input.seekg(0, ios::beg);

Buffer = new char[length];

input.read(Buffer, length);

cout << Buffer << endl;
for (int i = 0; i < length; i++) {
Buffer[i] = Buffer[i] ^ 200;
}

cout << Buffer<< endl;
for (int i = 0; i < length; i++) {
Buffer[i] = Buffer[i] ^ 200;
}
cout << Buffer << endl;

delete[] Buffer;

getch();
return 0;
}

در برنامه بالا هر مقدار داخل فایل مورد نظر با کلید 200 رمز شده و در خروجی نوشته می شود و با همان کلید رمزگشایی می شود و در خروجی نمایش داده می شود.

hd2010hd
چهارشنبه 02 اسفند 1391, 16:12 عصر
با سلام

راحت ترین راه رمزگذاری یک متن یا فایل استفاده از عملگر xor هست که با یک عدد خاص انجام می گردد.
خوبی استفاده از عملگر xor این است که با همون عددی که رمز می کنید می تونید رمزگشایی انجام بدید. یک مثال ساده من قرار می دم (برای مسائل پیشرفته تر باید روش های رمزگذاری متقارن و نامتقارن رو بخونید)



#include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <io.h>

int main()
{
char* FileName;
ifstream input;

long int length;

char* Buffer;

input.open("c:\\a.txt", ios::binary);
input.seekg(0, ios::end);
length = input.tellg();
input.seekg(0, ios::beg);

Buffer = new char[length];

input.read(Buffer, length);

cout << Buffer << endl;
for (int i = 0; i < length; i++) {
Buffer[i] = Buffer[i] ^ 200;
}

cout << Buffer<< endl;
for (int i = 0; i < length; i++) {
Buffer[i] = Buffer[i] ^ 200;
}
cout << Buffer << endl;

delete[] Buffer;

getch();
return 0;
}

در برنامه بالا هر مقدار داخل فایل مورد نظر با کلید 200 رمز شده و در خروجی نوشته می شود و با همان کلید رمزگشایی می شود و در خروجی نمایش داده می شود.

اقا واقعا ممنون خیلی لطف کردین دقیقا همون نمونه سورسی هست که میخواستم بدونم