Wie würden Sie vorschlagen, dies zu schützen?
Hashes sind einwegig; sie können nicht zurück in die Originaldaten entschlüsselt werden.
Benutzerpasswörter werden gehasht, da sie nicht reversibel sein müssen. Ein Passwort-Hash in der Datenbank wird nur abgerufen, wenn sich der Benutzer anmeldet. Der Hash des eingegebenen Passworts wird mit dem im Benutzerdatensatz gespeicherten Passwort-Hash verglichen.
Es ist relativ üblich, dass Dinge wie SMTP-Passwörter und API-Schlüssel im Klartext gespeichert werden. Sie müssen in ihrer ursprünglichen Form übermittelt werden, daher würde eine Hash-Bildung ihre Verwendung verhindern. Wenn der Drittanbieter einen Hash des Passworts akzeptieren würde, gäbe es keinen Vorteil darin, Hashes als Schutzmaßnahme zu verwenden.
Wie Jay oben bereits sagte: Wenn die physische Integrität Ihres Servers kompromittiert wird und Ihre app.yml-Datei zugänglich ist, haben Sie weitaus größere Probleme zu bewältigen als die Notwendigkeit, ein SMTP-Passwort zurückzusetzen.
Eine wichtige Einschränkung: Sie sollten das SMTP-Passwort nirgendwo anders verwenden. Dies ist jedoch nicht spezifisch für Discourse. Es ist eine gute Sicherheitspraxis für alle Systeme und jedes Konto.