PDA

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



mostafag
یک شنبه 04 خرداد 1393, 22:37 عصر
سلام

میخوام برنامه ای بنویسم که یه فایل متنی رو کد کنه! البته کد کردنم به این صورته که میخوام حرف به حرف فایل رو پیمایش کنم و مثلا اگه حرف اول a هست اینو طبق حروف الفبا سه تا برم جلو و به جاش بنویسم d!!
یا مثلا اگه b هست پاکش کنه بنویسه e و الی آخر. وقتی هم به آخر میرسه بیاد از اول!! اینطوری میخوام فایلم کد بشه.

حالا نمیدونم چطور باید حرف به حرف فایل رو پیمایش کنم.

چیزی که به ذهنم رسیده انجام بدم اینه که هر حرف رو کد اسکی اش رو بدست بیارم بعد کد اسکی رو به اضافه ی 3 بکنم بعد دوباره همونجا بنویسم!!! وقتی هم به حرف آخره حروف الفبا رسیدم بیام به اول!! بعد برای دیکود کردن هم برعکس اینکارو بتونم انجام بدم.

حالا به نظرتون این روش اصلا درسته؟!؟!؟ اگه میدونید که روش های بهتری هم هست لطفا راهنمایی کنید چون بهترین روشی که به ذهنم رسید همینه!! ولی متاسفانه با همین پیمایش حرف به حرف مشکل دارم برا همین کمک خواستم. (البته من کد کردنم فقط میخوام به همین صورت باشه نه به روش دیگه ای!! باید کلا همینکارو انجام بدم.)

خیلی ممنون میشم کمکم کنید.

تشکر

rayson
یک شنبه 04 خرداد 1393, 23:25 عصر
سلام،
برای این کار خوب قاعدتا شما دارید یک الگوریتم ایجاد میکنید ، که وقت شما بابت ایجاد اون گرفته میشه .
نمیگم که کار اشتباهی اتفاقا خیلی هم خوب است ، ولی بنظر من شما که دارید زمان میزارید که این روش پیاده کنید ، یک مقدار زمان بیشتر بزارید و آن را پیچیده تر کنید .
همانطور که میدونید تمام رمزنگاریها از روابط ریاضی پیروی میکنند ، روشی که شما استفاده میکنید از روش تصاعد حسابی هست .
حالا بهتر که یک سری روش مطالعه کنید که هم منطقی باشه هم قابل پیاده سازی باشه.
منظورم از منطقی اینه که قابل درک باشه ، مثلا من میگم خوب بیام مقدار اول را بگیرم 5 تا کد اسکی اضافه کنم و یا 4 تا کم کنم ، بعد هم برای خوندن آن معکوس انجام بدم ، خوب چیزه خوبیه و پیاده میکنم بعد در 3 دقیقه هک میشه ( منظورم اگر واقعا کسی بخواد هکش کنه ) ولی یک برنامه نویس خوب میاد 1 کد اسکی را به 10 یا 20 قسمت تقسیم میکنه و برروی تک تک این بخش ها عملیاتی انجام میده که هم برای شناسایی از طرف هکر وقت گیر و هم بسیار سخت رمزنگاری میشه .
شما در هر سطح از یک سبک استفاده میکنید .( بهتر الگوریتم های پدر و فرزند را نمونه کار بگیرید و در هر سطح روشی پیاده کنید مانند یک بازی که غول هر مرحله لول های جدید و فاز های متفاوتی داره ( اشاره به بازی بزرگ World Of WarCraft ))

mostafag
دوشنبه 05 خرداد 1393, 08:37 صبح
کاملا درست میفرمایید

برای کسی که ممکنه کارش رو هک بکنن اینکارها لازمه ولی من بنا به دلایلی فقط باید از همین روش تصاعد حسابی استفاده کنم.

حالا اگه هر کس از دوستان یا شما میدونید که چطوری میشه فایل رو حرف به حرف پیمایش کرد و کد اسکی حروف رو به دست آورد و جایگزین کرد لطفا راهنمایی کنید چون من مطلبی جایی ندیدم برای اینکار.

تمام پیمایش ها خط به خط هست ولی حرف به حرف....

ممنون...

mostafag
دوشنبه 05 خرداد 1393, 11:25 صبح
دوستان من تونستم این کد بنویسم تا بتونم کلمه کلمه فایل رو پیماش کنم و هر کلمه رو کداسکی اش رو به اضافه 3 بکنم

حالا نمیدونم چطوری باز کد اسکی رو به حرف تبدیل کنم!!! لطفا هر کی میدونه به من کمک کنه. خیلی فوریه

ممنون


StreamReader reader = new StreamReader("mostafa.txt");
string s1;
string s2="";
s1 = reader.ReadToEnd();
//textBox1.Text = s;

foreach (char c in s1)
{
if (Convert.ToInt32(c) > 119 && Convert.ToInt32(c) <= 122 || Convert.ToInt32(c) > 87 && Convert.ToInt32(c) <= 90)
{
s2 = s2 + Convert.ToString(Convert.ToInt32(c) - 25); //برای سه حرف آخر
}
else
{
s2 = s2 + Convert.ToString(Convert.ToInt32(c) + 3);
}
}
reader.Close();


StreamWriter writer = new StreamWriter("mostafa2.txt");
writer.WriteLine(s2);
writer.Close();

MessageBox.Show("فایل با موفقیت کدگذاری شد");

rayson
دوشنبه 05 خرداد 1393, 14:13 عصر
سلام همانطور که عمل تبدیل انجام دادی به عدد همانطور به کارکتر تبدیل کن مثلا
int valueIntData = 98;
char myData = Convert.ToChar(valueIntData);