PDA

View Full Version : سوال: Encryption/Decryption



fallah_mojtaba
پنج شنبه 14 شهریور 1387, 23:08 عصر
سلام دوستان
برای ذخیره کردن password نیاز به الگوریتمی دارم که بتونه آن را encription کنه و برای مدیریت اطلاعات کاربران نیز بتونه آن را از دیتا بیس بخونه و descyption بکنه و نمایش بده...
من از md5 استفاده کردم که برای رمزگشایی به مشکل بر میخورم.
لطفا راهنمایی کنید
ممنون از لطفتون

yasercomeng
جمعه 15 شهریور 1387, 05:35 صبح
اين كد رو امتحان كن فكر كنم مشكلت حل شه:
اين تابع براي دريافت hash md5 مربوط به رشته ي input هست.

public static string gethash(string input)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(in put));
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
اينم كد چك كردن درستي عبارت هش شده و عبارت plaintext:

public static bool verifyhash(string input, string hash)
{
//input comes from database
// Create a StringComparer an comare the hashes.
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if (0 == comparer.Compare(input, hash))
{
return true;
}
else
{
return false;
}
}
موفق باشيد.

fallah_mojtaba
جمعه 15 شهریور 1387, 09:24 صبح
دوست عزیز از راهنمایی شما ممنونم ولی این همان کاری است که من انجام داده ام.
مشکل کار من اینجاست که می خوام رشته hash شده رو دوباره به حالت اولیه ببینم و ویرایش کنم.دنبال الگوریتمی برای این کار هستم.

linux
جمعه 15 شهریور 1387, 11:20 صبح
سلام دوستان
برای ذخیره کردن password نیاز به الگوریتمی دارم که بتونه آن را encription کنه و برای مدیریت اطلاعات کاربران نیز بتونه آن را از دیتا بیس بخونه و descyption بکنه و نمایش بده...
من از md5 استفاده کردم که برای رمزگشایی به مشکل بر میخورم.
لطفا راهنمایی کنید
ممنون از لطفتون
هیچ برنامه نویسی پسورد ها را بصورتی که بتوان به حالت اولش در آورد ذخیره نمی کند.
هش یک الگوریتم یکطرفه هست، حالا چه احتیاجی داری که پسورد را دیکریپت کنی؟

yasercomeng
یک شنبه 17 شهریور 1387, 22:00 عصر
اگه مي خواي پسورد رو بازگردوني نبايد از هش استفاده كني. همونطور كه دوست عزيزم linux گفت هش يه الگوريتم يك طرفه است ولي براي ديدن دوباره ي پسورد مي توني از الگوريتم هاي ديگه مثل sh1 يا rinjdael استفاده كني اينم لينك كد كلاس rinjdael