سلام
برای هش کردن پسورد در core2.1 و ذخیره در دیتابیس چکاری باید انجام شود؟ کد نویسی بصورت dbfirst انجام شده است. از روش identity استفاده نکردم.
با سلام
براي رمزنگاري پسورد در روش DbFirst شما مي تونيد از الگوريتمهاي مختلف رمزنگاري مثل Md5 و يا Sha256 يا ... استفاده کنيد. براي اين منظور ابتدا تايين کنيد از چه روشي مي خواهيد استفاده کنيد. اگر از روش MD5 استفاده مي کنيد فيلد پسورد رو از نوع nvarchar(32) و اگر از نوع Sha256 استفاده مي کنيد فيلد پسورد رو از نوع nvarchar (128) قرار بديد. دليل اين موضوع اين هست که الگوريتم رمزنگاري MD5 يک رشته هش شده 32 کاراکتري توليد مي کند و الگوريتم Sha256 يک رشته هش شده 128 کاراکتري رو توليد مي کنه.
سپس در کدهاي خودتون مي تونيد به روش زير رمز عبور رو تبديل به يک رشته هش شده کنيد. کد زير مربوط به sha256 مي باشد.
SHA256CryptoServiceProvider SHA256 = new SHA256CryptoServiceProvider();
Byte[] B1;
Byte[] B2;
B1 = UTF8Encoding.UTF8.GetBytes(model.Password);
B2 = SHA256.ComputeHash(B1);
string HashedPassword = BitConverter.ToString(B2);
دقت کنيد که براي استفاده از الگوريتم هاي رمز نگاري بايد از کتابخانه
using System.Security.Cryptography;
استفاده کنيد.
در دستور بالا يک رشته هش شده 128 کاراکتري غير قابل بازگشت توليد مي شود.
نکته : براي اينکه بتونيد موقع لاگين رمز عبور را کنترل کنيد بايد رمز عبور را مجدد هش کنيد و با رشته هش شده درون ديتابيس مقايسه کنيد
موفق باشيد
شما میتونید از ProtectProvider نیز استفاده کنید . کد هاشو میزارم و کافی فقط کپی Paste کنی
public class ProtectProvider: IProtectProvider
{
private readonly IDataProtector protector;
public ProtectProvider(IDataProtector _protector)
{
protector = _protector.CreateProtector(typeof(ProtectProvider).FullName);
}
public string Encrypt(string StrInput)
{
byte[] Bytes = protector.Protect(Encoding.UTF8.GetBytes(StrInput));
return Convert.ToBase64String(Bytes);
}
public string Decrypt(string StrInput)
{
byte[] Bytes = protector.Unprotect(Convert.FromBase64String(StrInput));
return Encoding.UTF8.GetString(Bytes);
}
}
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
116
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
395
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
562
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
57
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
97
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|