2016-05-18 31 views
0

如何安全地存儲連接到FTP服務器的android應用程序中的密碼和用戶名?任何人都不能反編譯一個.apk,並且看到它的來源或多或少是一種易於閱讀的格式?如何安全地將FTP憑證安裝到Android應用程序中?

我正在實施在我正在處理的應用程序中上傳照片的功能,然後將它們發送到後臺的FTP服務器。下面是大多數例子顯示如何做到這一點。我認爲沒有太多辦法解決這個問題。

String username = "Austin"; //Example Username 
String password = "123456"; //Example Password 
//FTP Client init after this and then connect. 
+1

「任何人都不能反編譯.apk文件,並且看到它的源代碼或多或少是一種易於閱讀的格式?」 - 是的。 – CommonsWare

回答

0

與FTP的基本問題是,它採用明文方式傳輸密碼,所以即使你沒有保存在您的應用程序中平原,它可以用一個簡單的包嗅探工具來讀。

除此之外,如果不轉換它們,生成的字節碼將包含字符串。一個簡單的方法是創建Base64表示法:Base64 Java encode and decode a string

複雜的方法是使用像scrypt或bcrypt這樣的加密庫,但考慮到ftp本身內提到的安全缺陷,就像使用大錘來破解一個螺母:

+0

我甚至不知道它是以純文本形式發送的。謝謝。你會不會建議在應用程序中使用FTP? –

+0

那麼,這取決於發送到服務器的內容。如果它不包含私人信息,並且可以在互聯網上的任何地方找到,則可以使用ftp。 –

相關問題