Diskuze: c# wcf Sql dapater
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Třeba už to heslo zahashované je v mé aplikaci vypadá kód podobně, ale ve skutečnosti je heslo v celé době už jen hash hesla
když jsem viděl toto
...
Uzivatel u = new Uzivatel();
u.Username=Convert.ToString(usernametxt.Text);
u.Pasword = Convert.ToString(passwordtxt.Text);
Service1Client service = new Service1Client();
...
nabyl jsem dojmu, že to jsou údaje z přihlašovacího formuláře...
Jde jen o to, že heslo proženeš hashovací funkcí.
Tzn, že kdokoliv by ho v databázi viděl tak nemá ponětí jaké je uživatelovo heslo, ani ty ne, ale to ti nevadí můžeš porovnávat jen uložený Hash a Hash od uživatele ani nemusíš znát jeho heslo
Já u sebe v aplikaci používám: Ale to jen protože jsem fanda hexa formátu
private string GetSha256(string Password)
{
var pass = Encoding.ASCII.GetBytes(Password);
SHA256Managed hashString = new SHA256Managed();
string HashedPassword = "";
var hashValue = hashString.ComputeHash(pass);
foreach (byte x in hashValue)
{
HashedPassword += string.Format("{0:x2}", x);
}
return HashedPassword;
}
já přidávám jako "sůl" k heslu i login...
public string HashHesla(string login, string heslo)
{
string SourceText = login + heslo;
Byte[] a = Encoding.UTF8.GetBytes(SourceText);
Byte[] b;
SHA512Managed c = new SHA512Managed();
b = c.ComputeHash(a);
string HashText = Convert.ToBase64String(b);
return HashText;
}
Zobrazeno 8 zpráv z 8.