可能碰到的iOS筆試面試題(21)--安全機制

安全機制

蘋果的安全機制有哪些

  • 沒經過用戶同意,你不能隨便獲取用戶信息。
  • 所有的程序都在沙盒里運行,B程序不能進入A程序的運行范圍。
  • 如果跟錢有關,比如說支付寶,這些底層的實現都是保密的,只提供接口供開發者調用,這樣的話安全性得到保障。
  • 如果要防止代碼被反編譯,可以將自己的代碼中的.m文件封裝成靜態庫(.a文件)或者是framework文件,只提供給其它人.h文件。這樣就保證了個人代碼的安全性。
  • 網絡登錄的話跟用戶名跟密碼相關要發送POST請求,如果是GET請求的話密碼會直接在URL中顯示。然后同時要對帳號密碼采用加密技術,加一句:我們公司用的是MD5,但是現在MD5有一個專門的網站來破解,為了防止這個,可以采用加鹽技術。

iOS 的簽名機制大概是怎樣的?

  • 假設,我們有一個APP需要發布,為了防止中途篡改APP內容,保證APP的完整性,以及APP是由指定的私鑰發的。首先,先將APP內容通過摘要算法,得到摘要,再用私鑰對摘要進行加密得到密文,將源文本、密文、和私鑰對應的公鑰一并發布即可。
  • 那么如何驗證呢?
    驗證方首先查看公鑰是否是私鑰方的,然后用公鑰對密文進行解密得到摘要,將APP用同樣的摘要算法得到摘要,兩個摘要進行比對,如果相等那么一切正常。這個過程只要有一步出問題就視為無效。

客戶端安全性處理方式?

1>  網絡數據傳輸(敏感數據[賬號\密碼\消費數據\銀行卡賬號], 不能明文發送)
2>  協議的問題(自定義協議, 游戲代練)
3>  本地文件存儲(游戲的存檔)
4>  源代碼(混淆)

如何進行數據加密?

常見的加密算法:MD5 \ SHA \ DES \ 3DES \ RC2和RC4 \ RSA \ IDEA \ DSA \ AES

加密算法的選擇:一般公司都會有一套自己的加密方案,按照公司接口文檔的規定去加密

MD5的特點:

(1)輸入兩個不同的明文不會得到相同的輸出值

(2)根據輸出值,不能得到原始的明文,即其過程不可逆

現在的MD5已不再是絕對安全,對此,可以對MD5稍作改進,以增加解密的難度

加鹽(Salt):在明文的固定位置插入隨機串,然后再進行MD5

先加密,后亂序:先對明文進行MD5,然后對加密得到的MD5串的字符進行亂序

總之宗旨就是:黑客就算攻破了數據庫,也無法解密出正確的明文

文章如有問題,請留言,我將及時更正。

滿地打滾賣萌求贊,如果本文幫助到你,輕點下方的紅心,給作者君增加更新的動力。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容