Header Ads Widget

SHA-256 + Salt Hashing in ASP.NET WebForms

SHA-256 + Salt Hashing in ASP.NET WebForms

🔐 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 करना आसान है

Post a Comment

0 Comments