我正在構建SDK,其中我需要從應用程序獲取應用程序ID和應用程序密鑰,這將集成我的Android SDK。每個SDK中的應用程序密鑰和密鑰的作用
我看到每個SDK都使用這個概念的應用程序ID和密鑰。我不知道這是什麼用途?這是如何使系統安全的?
任何人都可以幫助我解決這個問題。
我正在構建SDK,其中我需要從應用程序獲取應用程序ID和應用程序密鑰,這將集成我的Android SDK。每個SDK中的應用程序密鑰和密鑰的作用
我看到每個SDK都使用這個概念的應用程序ID和密鑰。我不知道這是什麼用途?這是如何使系統安全的?
任何人都可以幫助我解決這個問題。
應用程序ID和密鑰是兩個不同的東西。讓我試着分別解決這兩個問題,然後將它們聯繫在一起。
應用ID
應用程序ID是簡單地爲應用的唯一標識標籤。這是爲了避免App Store和設備上的重疊。如果兩個應用程序具有相同的應用程序ID,則可以將其中一個安裝在另一個之上,有效地擦除舊應用程序,並可能劫持您的數據。應用程序ID只是SECURITY的第一步。爲了確保上述情況絕對沒有發生,我們使用密鑰。
保密密鑰
的密鑰是一個安全的實現,通常用於非對稱加密。讓我們來看看非對稱加密維基百科的定義:
公鑰加密,也被稱爲非對稱加密,是一類基於算法需要兩個獨立的按鍵,其中一個是祕密的密碼協議(或私人),其中之一是公開的。雖然不同,但這個密鑰對的兩個部分在數學上是連接的。
密鑰是一對密鑰的一部分,另一個是公鑰。顧名思義,公鑰就公開向公衆開放。理想情況下,祕密密鑰只適用於一個人。
這對鑰匙是用來打開一個鎖,在你的情況下'解鎖'的應用程序。每個應用程序都有一個獨特的不對稱鎖。不對稱鎖定或者用祕密密鑰鎖定,並用公鑰打開,反之亦然。目的是IDENTIFICATION。只有一個人可以擁有密鑰。所以,這個人的任何應用程序,我們知道絕對是來自那個人,而不是一些黑客/懷疑的來源。這就是爲什麼密鑰很重要。
因此,這兩個概念可以攜手合作,爲您帶來更好的安全性。當您使用API時,您有時不需要密鑰,而只需要應用程序ID,因此您正在使用API的主要服務知道您使用的是哪個確切產品。
基本上它用於授權。作爲回報,SDK開發人員可以更好地控制用戶。我能想到的幾個原因的SDK將需要授權:
但是任何人都可以在反編譯apk後獲得密鑰(私鑰),然後如何才能保證安全? –
@威廉姆斯兩件事。 1.您如何使用哪個程序來反編譯APK並獲得密鑰? 2.我會先保留這一點;) – bernlim
人們使用像https://github.com/pxb1988/dex2jar這樣的dextojar,並且可以從源代碼 –