PDA

View Full Version : حرفه ای: رمز نگاری و رمز گشایی رشته ها



shayegan10
پنج شنبه 22 فروردین 1392, 14:22 عصر
کد گذاری یا Encoding یک رشته
string inputText = "This is some text.";
byte[] bytesToEncode;
bytesToEncode = Encoding.UTF8.GetBytes(inputText);
string encodedText;
encodedText = Convert.ToBase64String(bytesToEncode);
MessageBox.Show(encodedText);

در قطعه کد بالا ابتدا یک رشته را در متغییری با نام inputText قرار دادیم و با استفاده از کدگذاری بایتی رشته را کارکتر به کارکتر تبدیل و کدگذاری کردیم ، سپس رشته کدشده را نمایش دادیم. مقدار ورودی علاوه بر متغییر می تواند از کنترل های موجود در فرم بسته به درخواست کاربر نیز خوانده و استفاده شود.

حال برای رمز گشایی مقدار کد شده می توانید از دستورات زیر استفاده کنید :

کد گشایی یا Decoding یک رشته
byte[] decodedBytes;
decodedBytes = Convert.FromBase64String(encodedText);
string decodedText;
decodedText = Encoding.UTF8.GetString(decodedBytes);
MessageBox.Show(decodedText);

در کد نوشته شده ابتدا یک رشته کدگذاری شده را که قبلاً در متغییری با نام encodedText ذخیره شده وارد کردیم و دقیقاً برعکس روش کدگذاری ، رشته ی کدشده را برای ما رمزگشایی کرده و نمایش می دهد.
منبع:http://pix3l.ir

linux
پنج شنبه 22 فروردین 1392, 14:45 عصر
اسم این کار را رمز گذاری نمیشه گفت! یک نوشته را مقدار یونیکدش را گرفتی و تبدیل کردیش به یک عدد در مبنای ۶۴! یک عدد در مبنای ۶۴ از اعداد ۰ تا ۹ و حرف a-z,A-Z تشکیل شده.
یک جور تبدیل هست تو دیکشنری هم که نگاه کنی معنی encoding را convert بیان کرده
چیزی که معنی رمزگذاری می‌دهد Encrypting و رمزگشای Decrypting هست.
مثلا دقت کرده باشی تبدیل از کداسکی به یونکد هم encoding هست.

alexmcse
پنج شنبه 22 فروردین 1392, 20:35 عصر
یک نمونه از Encrypting و Decrypting کردن رشته با MD5
در لینک زیر دانلود کنید
http://alexmcse.blogsky.com/

linux
پنج شنبه 22 فروردین 1392, 22:30 عصر
یک نمونه از Encrypting و Decrypting کردن رشته با MD5
در لینک زیر دانلود کنید
http://alexmcse.blogsky.com/
عزیز برادر MD5 یا SHA1 و یا هر الگوریتمی مثل این، برای Hashing هست. و Hashing هم با رمزنگاری و رمزگذاری متفاوت هست. برای اینکه ذهنت روشن بشه یک مثال چندش آور بزنیم!
شما یک گاو داری این گاو هر چقدر علف بدی می‌خوره و یک خروجی(قدیم ها می‌گفتند تاپاله) می‌فرمایند. این مسیر یک طرفه هست. یعنی دیگه خروجی مسیر برگشت نداره شما انتظار نداری که گاو مثال ما از خروجی علف تولید کنه؟! یعنی خروجی را بدهی به خروجی آقا گاوه از دهنش علف بیاد بیرون!
اما می تونی یک کاری کنی، خروجی را یادگاری نگهداری، دفعه بعد اگر علفی دادی این گاو خورد خروجیش اگر با خروجی که شما یادگاری نگهداشتی یکی بود مطمن باش که علفهایی که صرف فرمودند این گاو ما یکی بوده.
هرچند چندش بود امیدوارم مطلب براتون واضح باشه.

amirsajjadi
پنج شنبه 22 فروردین 1392, 22:44 عصر
عزیز برادر MD5 یا SHA1 و یا هر الگوریتمی مثل این، برای Hashing هست. و Hashing هم با رمزنگاری و رمزگذاری متفاوت هست. برای اینکه ذهنت روشن بشه یک مثال چندش آور بزنیم!
شما یک گاو داری این گاو هر چقدر علف بدی می‌خوره و یک خروجی(قدیم ها می‌گفتند تاپاله) می‌فرمایند. این مسیر یک طرفه هست. یعنی دیگه خروجی مسیر برگشت نداره شما انتظار نداری که گاو مثال ما از خروجی علف تولید کنه؟! یعنی خروجی را بدهی به خروجی آقا گاوه از دهنش علف بیاد بیرون!
اما می تونی یک کاری کنی، خروجی را یادگاری نگهداری، دفعه بعد اگر علفی دادی این گاو خورد خروجیش اگر با خروجی که شما یادگاری نگهداشتی یکی بود مطمن باش که علفهایی که صرف فرمودند این گاو ما یکی بوده.
هرچند چندش بود امیدوارم مطلب براتون واضح باشه.

شما با این مثالتون کل مایکروسافت که هیچی تمام دانش بشری رو زیر سوال بردی !!! :متفکر:
حالا اگه بعضی گاوها از شدت گرسنگی همون خروجی خودشون رو بخورن این وسط فک کنم الگوریتم گاو میافته تو لوپ.:لبخند:

linux
پنج شنبه 22 فروردین 1392, 23:11 عصر
شما با این مثالتون کل مایکروسافت که هیچی تمام دانش بشری رو زیر سوال بردی !!! :متفکر:
حالا اگه بعضی گاوها از شدت گرسنگی همون خروجی خودشون رو بخورن این وسط فک کنم الگوریتم گاو میافته تو لوپ.:لبخند:

نه علم بشری رفت زیر سوال نه ماکروسافت، فقط یک الگوریتم به زبان فارسی و با مثالی ماندگار توضیح داده شد.
گاو مثال ما از شدت گرسنگی هم اگر خروجی خودش را بخورند باز اون ورودی اولیه را که علف بوده تولید نمی‌کنند همچنان خروجی تولید می‌کنند.

amirsajjadi
جمعه 23 فروردین 1392, 00:23 صبح
نه علم بشری رفت زیر سوال نه ماکروسافت، فقط یک الگوریتم به زبان فارسی و با مثالی ماندگار توضیح داده شد.
گاو مثال ما از شدت گرسنگی هم اگر خروجی خودش را بخورند باز اون ورودی اولیه را که علف بوده تولید نمی‌کنند همچنان خروجی تولید می‌کنند.

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

salargham
جمعه 23 فروردین 1392, 08:24 صبح
خیلی مفید بود،از همتون ممنونم.