PDA

View Full Version : چگونه اعداد را encrypt و سپس decrypt کرد



bitcob589
یک شنبه 22 دی 1392, 22:04 عصر
با سلام
چگونه می توان اعداد به encrypt تبدیل کرد و در زمان نیاز به نمایش عدد encrypt شده را به صورت decrypt تبدیل کرد و نمایش داد

maythamahmadi
یک شنبه 22 دی 1392, 22:10 عصر
فک کنم با روشهای معمولی که برای متن به کار میره میتونی برای اعداد هم انجام بدی

bitcob589
یک شنبه 22 دی 1392, 22:16 عصر
فک کنم با روشهای معمولی که برای متن به کار میره میتونی برای اعداد هم انجام بدی
موفق نشدم برای اعداد انجام دهم

maythamahmadi
یک شنبه 22 دی 1392, 22:22 عصر
این سورس رو یه نیگا بنداز شاید بدردت بخوره

bitcob589
یک شنبه 22 دی 1392, 22:36 عصر
فیلد دیتابیسم از نوع int تعریف کرده ام پروژه ای که گذاشته شده است خروجی از نوع string داده می شود که برای دیتابیس قابل پذیرش نیست

bitcob589
دوشنبه 23 دی 1392, 08:27 صبح
چگونه اعداد را به encrypt و چگونه در زمان نمایش به decrypt تبدیل کرد

danialafshari
دوشنبه 23 دی 1392, 09:43 صبح
سلام
اگر این کار برای اطلاعات کمی است مثل پسورد، مناسب است ولی اگر برای تعداد زیادی اطلاعات است مناسب و بهینه نیست
برای این کار هم شما می تونی از الکوریتم binary استفاده کنی
http://www.binaryconvert.com/

bitcob589
دوشنبه 23 دی 1392, 10:18 صبح
سلام
اگر این کار برای اطلاعات کمی است مثل پسورد، مناسب است ولی اگر برای تعداد زیادی اطلاعات است مناسب و بهینه نیست
برای این کار هم شما می تونی از الکوریتم binary استفاده کنی
http://www.binaryconvert.com/

اگر امکان دارد نحوه پیاده سازی الگوریتم binary توضیح دهید

danialafshari
دوشنبه 23 دی 1392, 10:46 صبح
سلام
شما نگفتید برای چه فیلدی می خواید و طولش چقدره؟ و دیتاهایی که در بانک ذخیره میشن طولشون چقدره؟
اینم یک الگوریتمه
string formattedString = Convert.ToString(147878, 8);
MessageBox.Show(formattedString);
بهتره برای این موارد یک الگوریتم دستی بسازی که تلفیق باینری و ریاضی باشه
موفق باشی

Mousavmousab
دوشنبه 23 دی 1392, 11:59 صبح
من پیشنهاد می کنم خودتون یک الگوریتم بسازید و تا می تونید پیچیده بسازید تا دیرتر باز بشه ( می دونید که هیچ چیزی نیست که باز نشه) انشا الله که باز نمیشه
بعد حالا زشته کد شده را دوباره با یک الگوریتم معروف کد کنید و بعدش هم دو باز Decode کنید تا به اول برگردید.
تنها از روش های معروف استفاده نکنید ، اگه کسی بشکونتش مال همه اونایی که از این روش استفاده می کنن هم باز میشه دیگه !!! درسته ؟ پی حواستون باشه

bitcob589
دوشنبه 23 دی 1392, 12:36 عصر
من پیشنهاد می کنم خودتون یک الگوریتم بسازید و تا می تونید پیچیده بسازید تا دیرتر باز بشه ( می دونید که هیچ چیزی نیست که باز نشه) انشا الله که باز نمیشه
بعد حالا زشته کد شده را دوباره با یک الگوریتم معروف کد کنید و بعدش هم دو باز Decode کنید تا به اول برگردید.
تنها از روش های معروف استفاده نکنید ، اگه کسی بشکونتش مال همه اونایی که از این روش استفاده می کنن هم باز میشه دیگه !!! درسته ؟ پی حواستون باشه

اگر امکان دارد یک نمونه الگوریتم که با int باشد برای نمونه بگذارید

fmehrvarzi
دوشنبه 23 دی 1392, 16:33 عصر
به نظرم بیایید دیتابیستان را اصلاح کنید و ان قسمت int را به nvarchar تبدیل کنید
بعدش بیاییند ار الگوریتمهای رمزنگاری استفاده کنید
مثلاً
Simple encrypting and decrypting data in C#‎ (http://www.codeproject.com/Articles/5719/Simple-encrypting-and-decrypting-data-in-C)
که این تابع string Encrypt(string clearText, string Password) در اون لینک میاید یه رشته با پسورد را به یک رشته رمز شده تبدیل میکنه و یک تابع Decrypt هم برا رمزگشاییش وجود داره که توسط همان پسورد مشابه رمزگشایی میشود.

Mousavmousab
دوشنبه 23 دی 1392, 16:55 عصر
اینم یک مثال از اون چیزی که بالا گفتم:



public static class Encryption
{

public static string Encode(string encodingString)
{
char[] partedString = encodingString.ToCharArray();

string encodedString = "";
for (int i = 0; i < partedString.Length; i++)
{
int asciiCode = (int)partedString[i];
asciiCode++;
asciiCode = asciiCode * 2;
partedString[i] = (char)asciiCode;
encodedString += partedString[i].ToString();
}

return encodedString;
}

public static string Decode(string encodedString)
{
char[] partedString = encodedString.ToCharArray();

string DecodedString = "";
for (int i = 0; i < partedString.Length; i++)
{
int asciiCode = (int)partedString[i];
asciiCode = asciiCode / 2;
asciiCode--;
partedString[i] = (char)asciiCode;
DecodedString += partedString[i].ToString();
}

return DecodedString;
}




البته مشکلش اینه که به ازای هر تعداد کاراکتر که ما کد می کنیم نباید به همان تعداد برای ما دیکد کنه
خودتون درستش کنید دیگه.

bitcob589
دوشنبه 23 دی 1392, 19:00 عصر
اینم یک مثال از اون چیزی که بالا گفتم:

البته مشکلش اینه که به ازای هر تعداد کاراکتر که ما کد می کنیم نباید به همان تعداد برای ما دیکد کنه
خودتون درستش کنید دیگه.

اگر این قسمتش خودتان درستش بنویسید عالی می شود

fmehrvarzi
دوشنبه 23 دی 1392, 19:06 عصر
این که الگوریتم رمزنگاری نیست!
براحتی آب خوردن شکسته میشه!



اینم یک مثال از اون چیزی که بالا گفتم:



public static class Encryption
{

public static string Encode(string encodingString)
{
char[] partedString = encodingString.ToCharArray();

string encodedString = "";
for (int i = 0; i < partedString.Length; i++)
{
int asciiCode = (int)partedString[i];
asciiCode++;
asciiCode = asciiCode * 2;
partedString[i] = (char)asciiCode;
encodedString += partedString[i].ToString();
}

return encodedString;
}

public static string Decode(string encodedString)
{
char[] partedString = encodedString.ToCharArray();

string DecodedString = "";
for (int i = 0; i < partedString.Length; i++)
{
int asciiCode = (int)partedString[i];
asciiCode = asciiCode / 2;
asciiCode--;
partedString[i] = (char)asciiCode;
DecodedString += partedString[i].ToString();
}

return DecodedString;
}




البته مشکلش اینه که به ازای هر تعداد کاراکتر که ما کد می کنیم نباید به همان تعداد برای ما دیکد کنه
خودتون درستش کنید دیگه.

Mousavmousab
دوشنبه 23 دی 1392, 19:52 عصر
دوست عزیز fmehrvarzi (http://barnamenevis.org/member.php?247078-fmehrvarzi)من قبلش گفتم که یه مدل ساده می نویسم.
در ضمن من این مثال را برای آقایbitcob589 (http://barnamenevis.org/member.php?230429-bitcob589) نوشتم ، ما که مثل شما استاد نیستیم یه چیز بنویسیم تا ابد شکسته نشه، بضاعت ما در همین حد است.

danialafshari
دوشنبه 23 دی 1392, 23:08 عصر
با سلام
لطفاً کد کسی رو نقد نکنید و کسی رو زیر سوال نبرید
تمامی کدهایی که قرار داده میشه باید یک sample ساده باشه تا پی و بنیادی برای برنامه نویس پایه ریزی بشه و باقی مسائل و درک آن بوسیله برنامه نویسه
فکر میکنم این تاپیک به نتیجه نسبتاً خوبی رسیده باقیش به عهده شخص برنامه نویسه
قفل شد