Dito mit dead_orc, zumal man es so oder so nicht vermeiden kann, unverschlüsselte Passwörter im Speicher zu haben – um sie an den Server zu schicken muß man sie ja irgendwann entschlüsseln und dann sind sie da. Das ganze "ich verschlüssele die Daten, liefere aber alles zum Entschlüsseln Benötigte mit"-System ist der Grund, warum frühe DRM-Systeme schnell umgangen waren.
Effektiv läuft der ganze Schutz darauf hinaus, daß der Angreifer nicht weiß, an welcher Adresse im Speicher der Schlüssel, bzw. der Plaintext liegt. Security through obscurity.

Sicherheit würde ich beim Host ansetzen. Ein gehärtetes Linux mit sinnvollen Permissions sollte schon einiges an Schutz bieten. Wenn man vor Speichersniffern Angst hat, könnte ASLR rudimentären Schutz bieten (und da ein ordentlich gehärtetes Linux ohnehin ExecShield oder PaX eingebaut hat, kommt es gratis). Letztenendes gilt aber: Wenn der Angreifer Zugriff auf die Maschine hat, ist der Kampf bereits verloren.

Natürlich muß das Programm sauber geschrieben sein, um Angriffe zu vermeiden. Ich würde aber im Programm selbst auf obfuszierende Maßnahmen verzichten, weil sie effektiv nichts tun, aber Ressourcen kosten.
Und natürlich muß die Kommunikation mit den Servern verschlüsselt werden, aber das ist auch wieder nicht Sache des Programmierers.

Insgesamt würde ich also sagen, daß die Sicherheit im Wesentlichen vom Administrator und nicht vom Programmierer kommen sollte. Der Programmierer muß sauberen, fehlerfreien Code schreiben und nicht versuchen, Daten im RAM abzulegen, ohne sie im RAM abzulegen.