PDA

View Full Version : بازیابی پسوردرمز شده



minaalamshahi
سه شنبه 04 تیر 1392, 13:33 عصر
من رمز عبور آدرس ایمیل شرکت رو در دیتابیس به صورت hash نگه میدارم
برای اینکه بتونم ایمیل های ارسالی و دریافتی رو برای شرکت داشته باشم

من با یه الگوریم شبیه الکوریتم پایین رمز عبور رو hash می کنم
حالا برای ارسال ایمیل به کاربران برنامه به صورت اتومات به پسورد ایمیل شرکت احتیاج دارم
چطور می تونم پسورد رو باز یابی کنم؟



protected string Hash(string input)
{
// Generate bytes for the input string
byte[] inputData = ASCIIEncoding.ASCII.GetBytes(input);
byte[] keyBytes = new byte[20];
keyBytes = ASCIIEncoding.ASCII.GetBytes("Parnian");

// Compute HMACSHA1
HMACSHA1 hmac = new HMACSHA1(keyBytes);
CryptoStream cs = new CryptoStream(Stream.Null, hmac, CryptoStreamMode.Write);

cs.Write(inputData, 0, inputData.Length);
cs.Close();

string hash = ASCIIEncoding.ASCII.GetString(hmac.Hash);
return hash;
}

fakhravari
سه شنبه 04 تیر 1392, 17:22 عصر
هش شده قابل برگشت نيست.
بايد به صورت ساده بدين

minaalamshahi
سه شنبه 04 تیر 1392, 18:31 عصر
اگه به این روش کد و دیکدش بکنم چی؟
امنیت نداره؟

به هیچ وجه نمی تونم ساده پسورد هامو نگه دارم



private string Encrypt(string str)
{
string clearText = str.Trim();
string cipherText = CryptorEngine.Encrypt(clearText, true);
return cipherText;

}
private string Decrypt(string str)
{
string cipherText = str.Trim();
string decryptedText = CryptorEngine.Decrypt(cipherText, true);
return decryptedText;
}

fakhravari
سه شنبه 04 تیر 1392, 20:01 عصر
Encrypt و Decrypt ميتوني كنيد
هش قابل شكستن هست چه بهرسه به اين.
ولي براي كاربر عادي قابل تشخيص نيست

minaalamshahi
پنج شنبه 06 تیر 1392, 11:57 صبح
پس برای حل این مشکل چیکار باید بکنم

fakhravari
پنج شنبه 06 تیر 1392, 13:55 عصر
Encrypt و Decrypt ميتوني كنيد .
اين روش به صورت رشته ذخيره ميكنه مثلا =sdgvdffmnlfgb
اين معادل abcdef ميشه.
يه سرچي بزن متد هاي اونو پيدا كن.

minaalamshahi
پنج شنبه 13 تیر 1392, 11:53 صبح
decrypto رو بلدم

مشکلم اینجاست که گفتین خیلی راحت قابل بازیابیه

fakhravari
پنج شنبه 13 تیر 1392, 20:55 عصر
خب ديگه به صورت عادي كه نميشه تشخيص داد.

r_s1389@yahoo.com
پنج شنبه 13 تیر 1392, 23:06 عصر
نمیشه قبل از اینکه هش کنی عدد تصادفی رو یه جایی ذخیره کنی بعد هش کنی و موقع ارسال ایمیل اونی که ذخیره کردی رو براش بفرستی

minaalamshahi
سه شنبه 18 تیر 1392, 16:13 عصر
اگه ذخیره اش کنم دیگه واسه چی هش کنم؟

nimak2
سه شنبه 18 تیر 1392, 16:20 عصر
اگه شرکت وضع مالیش خوبه پیشنهاد بده که از digital signature استفاده کنن!!! :چشمک: