2012-02-25 84 views
0

目前,我正在使用Java郵件庫http://www.jondev.net/articles/Sending_Emails_without_User_Intervention_(no_Intents)_in_Android來完成此操作;但是我必須在電子郵件和密碼中使用硬編碼。在沒有用戶干預或意圖的情況下發送電子郵件

我發現了另一個關於這個問題的SO問題,它鏈接到了(也是Google的其中一個最終結果)http://nilvec.com/sending-email-without-user-interaction-in-android/ - 但該網站不再運行,或者當前不運行。

我認爲Javamail庫現在工作的很好,但我寧願我的代碼不被反編譯,並讓我的用戶/密碼字符串在那裏;我知道你可以使用ProGuard,但仍然有我的信息在那裏睜開眼睛的風險。

所以我在這裏的問題是:是否有另一個替代方案,我有可用的,而不是Javamail庫 - 如果不是,我怎樣才能妥善保護我的數據?

謝謝!

回答

2

加密該信息。 您的代碼可以解讀該信息。

您可以將其存儲爲您的應用的私人數據。和你的應用程序。可以在需要時解密信息。

這是一種更好的方法,不僅僅是在代碼中對密碼進行硬編碼,就好像您更改郵件密碼的原因是您將不得不重建和更新您的應用以適應更改。

如果它被加密和存儲,您可以隨時通過對話框手動添加新密碼,因爲您的應用程序是唯一可以解密數據的應用程序。

即使您不想僅更新,您也可以簡單地加密新密碼並替換加密文件。

javax.crypto有一系列的功能來幫助你做到這一點。 http://developer.android.com/reference/javax/crypto/package-summary.html

+0

酷 - 這就是我想它會來。我不知道有一個包。儘管如此,我仍然有點困惑;那麼你的口令不是純文本,那麼 - 幫助解密? – 2012-02-25 22:06:50

+0

據我所知,我提到的軟件包只對稱加密。您可以選擇不將密鑰存儲在代碼中,並將其安全地傳輸到您的應用程序。更好的是,如果你真的想要一些安全的使用非對稱加密,使用一對密鑰(公共和私人)。如果內存服務我的權利BouncyCastle加密支持非對稱加密。 – Orlymee 2012-02-25 22:43:12

+0

我想我的記憶力不是那麼糟:) http://stackoverflow.com/questions/3127267/asymmetric-crypto-on-android – Orlymee 2012-02-25 22:45:19

相關問題