2009-12-30 47 views
4

我對如何在應用程序中存儲使用密碼存有疑問。我需要隨時加密/解密數據,所以密碼需要在某個地方。選項是將其硬編碼到我的應用程序中或從文件中加載它。將密碼保存在您的應用程序代碼中

我想爲應用程序的許可證文件進行加密,其中一個安全步驟涉及應用程序能夠解密許可證(其他步驟如下)。密碼永遠不會知道給用戶,只有對我來說,因爲e真的不需要它!

我擔心的是黑客會通過我的代碼並檢索我存儲在那裏的密碼,並用它來破解打破第一個安全屏障的許可證。

在這一點上,我不考慮代碼混淆(最終我會),所以這是一個問題。

我知道任何存儲密碼的解決方案都存在安全隱患,但是沒有辦法解決!

我認爲在真正需要它之前從多個部分組合密碼,但是在某些時候密碼是完整的,所以調試器和一個井位斷點就是所需要的。

當你需要將你的密碼存儲在你的應用程序中時,你們會使用什麼方法?

乾杯

回答

7

我的個人意見與上面的GregS相同:這是浪費時間。無論您嘗試阻止多少應用程序,應用程序都會被盜版。然而...

你最好打賭是減少休閒盜版。

考慮你有兩類用戶。普通用戶和海盜。海盜會竭盡全力破解你的申請。普通用戶只是想用你的應用程序來完成某件事情。你無法對海盜做任何事情。

一個普通用戶不會知道任何關於破解代碼的問題(「呃......什麼是十六進制編輯器?」)。如果這類人購買應用程序比盜用它更容易,那麼他們更有可能購買它。

它看起來像你已經考慮的解決方案將對普通用戶有效。這就是你可以做的一切。

4

現在決定要花費多少時間/精力來防止盜版。如果有人確定,他們可能會讓你的應用程序無論如何工作。

4

我知道你不想聽到它,但這是浪費時間,如果你的應用程序需要一個硬編碼密碼,那麼這是一個缺陷。

+0

我知道這是一個缺陷。有沒有辦法不做我想要的而不是這樣?我不想爲每個安裝生成密碼,然後將其存儲,因爲問題會相同。我將不得不使用固定密碼加密該文件... – 2009-12-31 09:59:48

4

我不知道有什麼方法可以解決這個問題,以任何有意義的方式阻止黑客。祕密保密是密碼學的重大問題之一。

0

我過去所做的一種方法是在安裝過程中生成一個唯一的ID,它將得到HDD和MCU的SN並將其用於複雜結構中,然後用戶將此號碼發送給我們的自動化系統,我們用另一個塊回覆,應用程序現在將在使用過程中解密並比較這些數據。

是的我工作,但它仍然有密碼,我們有一些保護層(即有一些技術,防止中級黑客瞭解我們的安全系統)。

我只是建議你做一個非常複雜的系統,並嘗試自己破解它,看看反彙編是否會導致一條簡單的路徑。向隨機子程序中添加一些隨機調用,使其非常具有說服力,嘗試僞造註冊表鍵和全局變量的使用,將黑客的生活變成地獄,這樣他最終會放棄。

相關問題