Nad podobným problémem jsem nějakou dobu přemýšlel a nic jsem nenašel. Vždy když jsem dostal nápad na ochranu tak mě ihned napadlo "jak to obejít".
Problém je v tom, že jakmile máš v aplikaci napsanou "funkci" která ti to heslo odněkud stáhne nebo třeba dešifruje nebo i vygeneruje ze sériového čísla desky atd, tak případnému útočníkovi stačí tuto funkci analyzovat a následně vykonat stejnou činnost a dostane heslo.
Nebo jak je tu napsáno poslat zašifrovaně na proxy server, a až ten proxy server bude komunikovat s FTPkem, to může částečně fungovat, ale případnému útočníkovy nic nebrání poslat to "zašifrované" heslo na ten proxy server a komunikovat s tím ftpkem přes ten tvůj "proxy server". Tj útočník se zachová jako ta tvoje "regulérní" aplikace.
Opravdu, jestli to chceš zabezpečit proti BFU Hackerovi (tj aby to heslo nebylo vidět přímo v kódu), tak ho musíš nějak zašifrovat/zakódovat/schovat. A na to stačí třeba blbé kódování BASE64. Tj ty do kódu aplikace zadáš heslo: "TcOhbmnEjWthTcOhUsOhZGFQZXDDrcSNa2E0JA==" a před použitím ho přes BASE64 dekóduješ do původní formy: "MáničkaMáRádaPepíčka4$" a to použiješ jako heslo. A to by mělo stačit. Protože nikde v kódu nebude uvedené to správné heslo tj MáničkaMáRádaPepíčka4$, ale najdeš tam jen text TcOhbmnEjWthTcOhUsOhZGFQZXDDrcSNa2E0JA== který jako heslo nefunguje
Cokoli složitějšího nemá cenu, schopnější hacker dokáže zjistit "jak z toho textu vyrábíš heslo" a provede tu stejnou činnost a získá heslo. Je zbytečné investovat čas a peníze na složitější ochranu.
Možná jako dobrá ochrana může být to že vytvoříš speciální účet na FTP, který třeba bude mít jen právo čtení na jeden konkrétní soubor. A tyto FTP údaje zadat do aplikace. Pak ikdyž je útočník použije tak si bude moci jen přečíst ten jeden soubor a nic víc na tom FTPku neudělá. Ovšem to záleží na povaze tvé aplikace co s tím FTPkem vlastně dělá
zda jí bude stačit, že si může přečíst obsah toho jednoho souboru.
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)