Ich bereite ein Projekt öffentlich auf github vor. In meinem Projekt, für Login-Authentifizierung, nehme ich einen String und es stark geben als Password
:Passwörter in Open-Source-Projekten sammeln
// Stripped down here on SO for brevity
public class Password
{
private const string salt = "sealab2021";
public Password(string password)
{
this.saltedPasswordHash = new MD5Hash(password + this.salt).ToString();
}
public string SaltedHash { get; private set; }
}
Selbstverständlich, wenn das Salz öffentlich sichtbar ist, wertlos das Salz der.
Was tun andere Leute, um Passwörter in Open-Source-Projekten zu salzen und die Salzphrase trotzdem sicher versteckt zu halten?
Sollte das Salz irgendwo im Dateisystem existieren und geladen werden, wenn die Anwendung startet? Scheint wie eine vernünftige Lösung, aber wenn ich Github tatsächlich für die Quellcodeverwaltung verwende und nicht nur Dumps zu Github mache, wenn neue Versionen veröffentlicht werden, wird diese Datei weiterhin für die Öffentlichkeit zugänglich sein.