PDA

View Full Version : بهترین روش برای کد کردن اطلاعات



مهدی رحیم زاده
شنبه 23 خرداد 1388, 16:37 عصر
دوستان روشهای زیادی برای کد کردن و رمز گذاری اطلاعات برای ذخیره سازی وجود دارن . بهترین روش کدومه و یا چطور میشه یه روش خییییییییییییلی بهینه و عالی ارائه داد و نهایتا پیاده سازی کرد .
با تشکر

tdkhakpur
شنبه 23 خرداد 1388, 17:06 عصر
سلام
ببینید برای کد کردن الگوریتم خاصی وجود ندارد تنها قانونی که در این میان هست که باید دیکد کننده همیشه در طرف مقابل باید باشد.
تابع زیر عمل کد و دی کد کرده یک رشته را برای شما انجام میدهی.


void Codeing(char *str)
{
for( int i=0; i<strlen(str); i++)
str[i] = str[i]^i^'i'^'i'^'r'^'a'^'n';'
}

اگر شما رشته را برای بار دوم به این تابع ارسال کنید عمل دی کد کردن رو انجام دادید.
موفق باشید.

Open-Source
شنبه 23 خرداد 1388, 19:47 عصر
دوست عزیز به نظر من بهترین راه اینه که از چند یا چندین الگوریتم برای کد گذاری استفاده کنیم.:لبخندساده:

NewFoxStudent
شنبه 23 خرداد 1388, 19:56 عصر
ببینید برای کد کردن الگوریتم خاصی وجود ندارد تنها قانونی که در این میان هست که باید دیکد کننده همیشه در طرف مقابل باید باشد.
تابع زیر عمل کد و دی کد کرده یک رشته را برای شما انجام میدهی


فکر میکنم برای کدینگ و دیکدینگ الگوریتمهای خاص وجود داره ولی این الگوریتمها دارای روش پیاده سازی مشخصی نیستند به عنوان مثال SHA - SHA1 که استاندارهای کد گذاری هستند ولی روش پیاده سازی خاصی ندارن و با توجه به این استاندارها میشه الگوریتمهای دلخواه رو ایجاد و پیاده سازی کرد

tdkhakpur
شنبه 23 خرداد 1388, 20:17 عصر
فکر میکنم برای کدینگ و دیکدینگ الگوریتمهای خاص وجود داره ولی این الگوریتمها دارای روش پیاده سازی مشخصی نیستند به عنوان مثال SHA - SHA1 که استاندارهای کد گذاری هستند ولی روش پیاده سازی خاصی ندارن و با توجه به این استاندارها میشه الگوریتمهای دلخواه رو ایجاد و پیاده سازی کرد
میشود بگید چطوری با یک الگوریتم خاص کد کرده با یک الگوریتم خاص دیگر شما دیکد کنیم.
یک کد کوچیک لطف کنید ممنون میشوم.

NewFoxStudent
شنبه 23 خرداد 1388, 20:40 عصر
من نگفتم با الگوریتم خاص دیگه ای دیکد میشه
هر الگوریتم کدینگ الگوریتم دیکد خودش رو داره منظور من اینه که روشهای تجربه شده ای هست که بر اساس اونها این عملیات انجام بشه حتی کدی که خود شما گذاشتید هم میتونه یک روش خاص باشه که مثلا ممکنه یه نفر دیگه بیاد و با همین روش ولی با کمی تغییرات این کار رو انجام بده

pesar irooni
یک شنبه 24 خرداد 1388, 02:52 صبح
البته روشهایی هم وجود داره که قابل Decode نباشه. یعنی الگوریتمهای Hashing مثل MD5 که خود C# ازش تو متد GetHashCode استفاده میکنه. این نوع الگوریتمها که قابل بازیابی نیستند برای برخی عملیات ذخیره سازی مثل ذخیر رمز عبور مناسب هستند.

مهدی رحیم زاده
یک شنبه 24 خرداد 1388, 07:01 صبح
البته روشهایی هم وجود داره که قابل Decode نباشه. یعنی الگوریتمهای Hashing مثل MD5 که خود C# ازش تو متد GetHashCode استفاده میکنه. این نوع الگوریتمها که قابل بازیابی نیستند برای برخی عملیات ذخیره سازی مثل ذخیر رمز عبور مناسب هستند.
میشه در این مورد بیشتر توضیح بدین؟
اینکه چطور میشه ازش استفاده کرد و آیا کسی دیگه هم میتونه اونو بازیابی کنه؟برای من امنیت اطلاعات خیلی خیلی خیلی مهمه که کسی جز برنامه من نتونه اونا رو دیکد کنه !
با تشکر

NewFoxStudent
یک شنبه 24 خرداد 1388, 10:28 صبح
الگوریتم MD5 یه الگوریتم غیر بازگشتی که برای مواردی که نیاز به دیکد نداریم استفاده میشه
برای مثال شما کلمه عبور کاربر رو به وسیله این الگوریتم کد میکنید و توی بانک ذخیره میکنید
و در هر بار ورود کاربر کلمه عبور وارد شده رو با همین الگوریتم کد میکنید و با کد قبلی مقایسه میکنید
با این روش نیازی نیست که رمزهای ذخیره شده رو دیکد کنید و از طرفی اگه بانک شما هک بشه بدست آوردن کلمه عبور کاربران کار بسیار دشواری خواهد بود

مهدی رحیم زاده
یک شنبه 24 خرداد 1388, 13:23 عصر
میشه بگید چطور میتونم از این الگوریتم استفاده کنم . یعنی یه توضیحی در موردش بدین! و اگه نیاز به پیاده سازی داره ، نوع پیاده سازیش.
با تشکر

pesar irooni
یک شنبه 24 خرداد 1388, 17:09 عصر
به این پست مراجعه کنید جوابتون رو میگیرید:
http://www.barnamenevis.org/forum/showthread.php?t=163104

مهدی رحیم زاده
یک شنبه 24 خرداد 1388, 23:25 عصر
خوب حالا اگه بخواییم اطلاعات قابلیت بازیابی داشته باشن باید چکار کنم ؟

kiosksoft
دوشنبه 25 خرداد 1388, 09:38 صبح
دوست عزیز

در تاپیک ذیل یک مثال کامل از نحوه کدینگ و دیکدینگ اطلاعات گذاشتم .


تابع هایی برای کد کردن و دی کد کردن اطلاعاتی مانند کلمه عبور , پارامترها و ...

جهت بالا بردن امنیت نقل و انتقال داده و همچنین بانک اطلاعات و ...



توابع کاربردی بخش 2 (http://barnamenevis.org/forum/showthread.php?t=127376)