PDA

View Full Version : بهترین نوع کد گزاری پسورد و رفع مشکل تغییر در نسخه های مختلف ویندوز.



Abbas Naghdi
دوشنبه 21 بهمن 1392, 11:36 صبح
سلام بچه ها ...
از چه نوع کد گزاری استفاده کنم که با تغییر ویندوز کد گزاریش تغییر نکنه ؟
میخوام پسورد رو کد گزاری کنه ... اما با تغییر ویندوز نوع کد گزاری تغییر میکنه ... !
یعنی تا زمانی که ویندوز 7 هست مشکلی نداره و رو هر ویندوز 7 جواب میده اما وقتی ویندوز 8 یا Xp میشه کد گزاری تغییر میکنه ...
Base64 , MD5 رو امتحان کردم .. .!
چیکار کنم ؟

Mahmoud.Afrad
پنج شنبه 24 بهمن 1392, 15:06 عصر
این پست (http://barnamenevis.org/showthread.php?405732-%D8%AF%DB%8C%DA%A9%D8%AF-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D9%87%D8%A7%D8%B4-%D8%B4%D8%AF%D9%87&p=1805056&viewfull=1#post1805056) رو نگاه کن

تاپیک زیر هم هست.
http://barnamenevis.org/showthread.php?357912


کلا جستجو چیز خوبیه:)

hamid_hr
پنج شنبه 24 بهمن 1392, 16:00 عصر
یعنی تا زمانی که ویندوز 7 هست مشکلی نداره و رو هر ویندوز 7 جواب میده اما وقتی ویندوز 8 یا Xp میشه کد گزاری تغییر میکنه ...
Base64 , MD5 رو امتحان کردم .. .!

یعنی با تغییر ویندوز الگوریتم کد گذاری هم تغییر میکنه؟:متفکر:

NasimBamdad
پنج شنبه 24 بهمن 1392, 18:08 عصر
منم دارم شاخ در میارم . یعنی Base64 که برای لینوکس هست با ویندوز فرق می کنه ؟!؟

Abbas Naghdi
شنبه 26 بهمن 1392, 07:57 صبح
فرق میکنه که دارم میگم دیگه ...
خودمم نمیدونم چرا اما این مشکل هست و باید رفع بشه ... اما چطوری ... ؟

NasimBamdad
شنبه 26 بهمن 1392, 07:59 صبح
یه جای کارت مشکل داره . نباید این طوری باشه .

می تونید از نحوه Encoding ات بگی ؟ کلا چی کار می کنی ؟

linux
شنبه 26 بهمن 1392, 09:16 صبح
سلام بچه ها ...
از چه نوع کد گزاری استفاده کنم که با تغییر ویندوز کد گزاریش تغییر نکنه ؟
میخوام پسورد رو کد گزاری کنه ... اما با تغییر ویندوز نوع کد گزاری تغییر میکنه ... !
یعنی تا زمانی که ویندوز 7 هست مشکلی نداره و رو هر ویندوز 7 جواب میده اما وقتی ویندوز 8 یا Xp میشه کد گزاری تغییر میکنه ...
Base64 , MD5 رو امتحان کردم .. .!
چیکار کنم ؟

public string HashPassword(string passwd)
{
using (var sha = System.Security.Cryptography.SHA512Managed.Create( ))
{
return Convert.ToBase64String((sha.ComputeHash(System.Tex t.Encoding.UTF8.GetBytes(passwd))));

}
}
البته استفاده از الگوریتم های hash به این صورت برای ذخیره پسورد کار خوبی نیست اینجا را بخوان http://stackoverflow.com/questions/2138429/hash-and-salt-passwords-in-c-sharp

Abbas Naghdi
یک شنبه 27 بهمن 1392, 07:34 صبح
از این استفاده میکنم ...


public static String EncryptString(String Value)
{
RijndaelManaged rd = new RijndaelManaged();
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
Byte[] key = md5.ComputeHash(Encoding.UTF8.GetBytes(SecretKey)) ;
md5.Clear();
rd.Key = key;
rd.GenerateIV();
Byte[] iv = rd.IV;
MemoryStream ms = new MemoryStream();
ms.Write(iv, 0, iv.Length);
CryptoStream cs = new CryptoStream(ms, rd.CreateEncryptor(), CryptoStreamMode.Write);
Byte[] data = System.Text.Encoding.UTF8.GetBytes(Value);
cs.Write(data, 0, data.Length);
cs.FlushFinalBlock();
Byte[] encdata = ms.ToArray();
cs.Close();
rd.Clear();
return Convert.ToBase64String(encdata);
}