🔐 ASP.NET WebForms में SHA-256 + Salt के साथ Secure Password Hashing
जब आप User का पासवर्ड Store करना चाहते हैं तो उसे Plain Text में Save करना बहुत खतरनाक होता है। इसलिए हम SHA-256 + Salt का उपयोग करते हैं, जिससे पासवर्ड Secure और Unique बनता है।
👉 Salt एक Random Text होता है जिसे पासवर्ड के साथ जोड़कर फिर Hash किया जाता है ताकि दो Users के Same Password का भी Output अलग हो।
📘 Step 1: C# में Password Hash करना (Registration के समय)
using System.Security.Cryptography;
using System.Text;
public string GenerateSalt()
{
byte[] saltBytes = new byte[16];
using (var rng = new RNGCryptoServiceProvider())
{
rng.GetBytes(saltBytes);
}
return Convert.ToBase64String(saltBytes);
}
public string HashPassword(string password, string salt)
{
string combined = password + salt;
using (SHA256 sha256 = SHA256.Create())
{
byte[] bytes = Encoding.UTF8.GetBytes(combined);
byte[] hash = sha256.ComputeHash(bytes);
return Convert.ToBase64String(hash);
}
}
🧪 Output Example:
- Input Password: Hello@123
- Generated Salt: R4nd0mK3yAbcd==
- Hashed Output: hgyD7uQJ2lFd1ZaE1bMJJDskKs4=
📘 Step 2: Password Verification (Login के समय)
public bool VerifyPassword(string enteredPassword, string storedSalt, string storedHash)
{
string newHash = HashPassword(enteredPassword, storedSalt);
return newHash == storedHash;
}
📂 Database में क्या Save करें?
- Password_Hash: Hashed value
- Password_Salt: Generated salt
⚠️ Tips for Security:
- Always use Salt with Hashing
- Never store plain text passwords
- Consider bcrypt, PBKDF2, or Argon2 for better security
🔚 निष्कर्ष
- SHA-256 एक Fast और Trusted Hash Algorithm है
- Salt के साथ इसका उपयोग Security को मजबूत करता है
- ASP.NET WebForms में इसे Implement करना आसान है
0 Comments