La crittografia è valida solo quanto i mezzi per decrittografarla. Mentre tiene fuori la maggior parte delle persone, chiunque abbia una conoscenza ragionevole della crittografia può decodificare il nome utente e la password. Quindi logicamente, la soluzione è rendere difficile il reverse engineering. La migliore mentalità da adottare quando cerchi di raggiungere questo obiettivo presuppone che qualcuno che desideri decifrare il tuo programma sappia tutto ciò che sai, in che modo puoi rendere difficile la decodifica anche in quel momento?
Una soluzione che ho trovato è quella di ricavare da alcune informazioni che sono uniche per quel computer come, ad esempio, il numero di serie del disco rigido. Usandolo come chiave, puoi criptare e decodificare il nome utente e la password e finché il tuo codice sorgente è protetto e il tuo programma è offuscato, nessuno sarebbe più saggio. Ha solo il lato negativo minore che non può decifrare questi valori se la cartella viene copiata su un altro computer (quindi un numero di serie del disco rigido diverso).
Un altro approccio consiste nel fare una richiesta https formale a un server che fornisce una chiave utilizzata per crittografare e decrittografare, rendendo impossibile la decodifica utilizzando la chiave, poiché la chiave non viene salvata localmente. Ha lo svantaggio di richiedere che il computer sia online, ma dal momento che deve accedere comunque a Twitter, direi che lo svantaggio non si applica a te. Inoltre, consente di autenticare l'utilizzo del programma dimostrando che la licenza utilizzata per quel programma non viene utilizzata con un IP diverso. Questo sta diventando un approccio sempre più popolare dal momento che il numero di computer che lavorano offline sono sempre meno numerosi.