1) Warum überhaupt zu einer MySQL Datenbank hochladen? Warum nicht mit einer Lokalen Datenbank und SQLite Arbeiten? So hat jeder User seine Datenbank Lokal auf dem PC. Und falls man mal kein Internet hat sind die gespeicherten Informationen trotzdem abrufbar?
2) Es gibt im Internet Datenbanken mit denen sich Wörter (egal ob per MD5, SHA1 oder SHA2 "verschlüsselt") sehr schnell "knacken" lassen zumindest wenn es sich bei dem Verschlüsselten Inhalt nur um 1 Wort Handelt.
Solange man bei deinem Programm mehr als 1-2 Wörter "verschlüsselt" dürfte das ganze per MD5 und SHA ausreichend sein.
3) Ich weis nicht wie die Informationen zwischen dem Programm und deiner Datenbank übertragen und dann dort gespeichert werden, aber ich würde es vor dem Übertragen mit z.b. bcrypt verschlüsseln und dann so in deiner Datenbank Eingetragen.
Du könntest z.b. eine TextBox einbaue in die man so etwas wie ein "Masterpassword" eingibt.
Mit diesem Masterpassword werden alle Hash verschlüsselt bevor sie an deinen Server Übertragen werden.
Da jeder User ein individuelles Master Password benutzen kann hat somit auch kein anderer Zugriff auf die verschlüsselten Informationen (solange man nicht das individuelle Master Password kennt, was ja sehr unwahrscheinlich ist).
P.S. Also bei mir spuckt VirusTotal ganze 18/61 aus: