PDA

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



milade
یک شنبه 12 خرداد 1387, 22:20 عصر
سلام
خسته شدم از بس گفتم
می دونم ممکنه موضوع تکراری به نظر بیاد ولی درست نیست(جستجو کنید می فهمید) اخه هر چی گشتم همه بلد بودن کد کنن خوب از اساتید ارجمند خواهشمندم که بگن چه جور به روش کد کردن(دقیقا نمی دونم ولی فکر کنم 16 بایتی=همون که 16 کاراکترش میدیم با اون کد می کنه)اطلاعاتم رو کد کنم
لطفا اگه می شه کد بدین
در ضمن در مورد برگردوندنش(اگه میشه)یا مقایسش هم کدش رو بنویسن
مثال این طوری باشه
چه جور یه مقدار textbox رو کد کنیم و روی لیبل نمایش دهیم و بعدا (در صورت توانایی برگشت) اونو برگردونیم
ممنون

m.hamidreza
دوشنبه 13 خرداد 1387, 08:15 صبح
اینا همه تو سایت بود :

کد و دیکد با استفاده از الگوریتم base64 :


public static string Encode(string data)
{
try
{
byte[] encData_byte = new byte[data.Length];
encData_byte = Encoding.UTF8.GetBytes(data);
string encodedData = Convert.ToBase64String(encData_byte);
return encodedData;
}
catch (Exception e)
{
throw new Exception("Error in base64Encode " + e.Message);
}
}




public static string Decode(string data)
{
try
{
UTF8Encoding encoder = new UTF8Encoding();
Decoder utf8Decode = encoder.GetDecoder();

byte[] todecode_byte = Convert.FromBase64String(data);
int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
char[] decoded_char = new char[charCount];
utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
string result = new String(decoded_char);
return result;
}
catch (Exception e)
{
throw new Exception("Error in base64Decode " + e.Message);
}
}


Hashing که غیر قابل برگشت هست و فقط میتونی مقایسه کنی :



public static byte[] HashPassword(string str)
{
byte[] HashedDataBytes = new byte[16];
UTF8Encoding Encoder = new UTF8Encoding();
MD5CryptoServiceProvider MD5Hasher = new MD5CryptoServiceProvider();
HashedDataBytes = MD5Hasher.ComputeHash(Encoder.GetBytes(str));

return HashedDataBytes;

}

milade
دوشنبه 13 خرداد 1387, 19:12 عصر
می شه توضیح بدی؟